当前位置: 首页 > news >正文

HDU - 6812 Kindergarten Physics(分块/规律)

题目链接


这题第一眼看上去想积分,然后队友翻开大物课本疯狂学习,看了半个小时也没有好的思绪,然后另外一名队友说分块能写,就尝试了而且成功了

比赛时想的是,因为距离公式为 s = v t + 0.5 a t 2 s=vt+0.5at^2 s=vt+0.5at2,然后 t < 0.001 t<0.001 t<0.001应该可以忽略的,那么就按固定时间 d e l t = 0.001 delt=0.001 delt=0.001计算 1000 ∗ t 1000*t 1000t次,这样就能得到答案了!

可是实际上仔细考虑 G G G以及距离范围,发现在精度范围内无论如何都不会移动的,那么直接输出距离就好了…orz

#include <bits/stdc++.h>
#include <unordered_map>
#include <unordered_set>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define ins insert
#define Vector Point
#define lowbit(x) (x&(-x))
#define mkp(x,y) make_pair(x,y)
#define mem(a,x) memset(a,x,sizeof a);
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<double,double> pdd;
const double eps=1e-8;
const double pi=acos(-1.0);
const int inf=0x3f3f3f3f;
const double dinf=1e300;
const ll INF=1e18;
const int Mod=1e9+7;
const int maxn=2e5+10;
const double G=6.6743e-11;
const double delt=0.001;

int main(){
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    //ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T,m1,m2,R,tt;
    scanf("%d",&T);
    while(T--){
        scanf("%d%d%d%d",&m1,&m2,&R,&tt);
        int v1=0,v2=0;
        double r=R;
        int tot=tt*1000;
        for(int i=1;i<=tot;i++){
            double a1=G*m2/(r*r),a2=G*m1/(r*r);
            double s1=v1*delt+0.5*a1*delt*delt,s2=v2*delt+0.5*a2*delt*delt;
            v1=v1+a1*delt,v2=v2+a2*delt;
            r=r-(s1+s2);
        }
        printf("%.6f\n",r);
    }
    return 0;
}

相关文章:

  • UltraGrid 卡片模式列自适应宽度
  • 2020牛客暑期多校第七场 B - Mask Allocation(思维)
  • 编程修改BIN等二进制文件
  • 2020牛客暑期多校第七场 H - Dividing(整除分块)
  • 2020牛客暑期多校第八场 K - Kabaleo Lite(贪心)
  • 什么是程序员正确的职场心态?
  • 2020牛客暑期多校第八场 I - Interesting Computer Game(并查集+离散化)
  • [J2ME]url请求返回参数非法(java.lang.illegalArgument)
  • 如果将OpenGL的MVP矩阵设置为单位阵
  • 2020智算之道复赛 C - 有向无环图(思维+二进制拆分)
  • 技术人生
  • 2020智算之道复赛 D - 分数(素筛)
  • 无stencil buffer,绘制半透明planar shadow的一种方法
  • 2020牛客暑期多校第十场 A - Permutation(思维)
  • 2020牛客暑期多校第十场 E - Game(思维)
  • 【笔记】你不知道的JS读书笔记——Promise
  • Android交互
  • css选择器
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • ES10 特性的完整指南
  • golang 发送GET和POST示例
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java Agent 学习笔记
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JAVA并发编程--1.基础概念
  • js算法-归并排序(merge_sort)
  • Material Design
  • mongodb--安装和初步使用教程
  • nginx 配置多 域名 + 多 https
  • python_bomb----数据类型总结
  • tweak 支持第三方库
  • V4L2视频输入框架概述
  • 机器学习学习笔记一
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • ​Python 3 新特性:类型注解
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #Linux(make工具和makefile文件以及makefile语法)
  • $$$$GB2312-80区位编码表$$$$
  • $.ajax,axios,fetch三种ajax请求的区别
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (pytorch进阶之路)扩散概率模型
  • (二)c52学习之旅-简单了解单片机
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (十一)图像的罗伯特梯度锐化
  • (原創) 物件導向與老子思想 (OO)
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转)重识new
  • (轉貼) UML中文FAQ (OO) (UML)
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • ./和../以及/和~之间的区别
  • .dwp和.webpart的区别
  • .net 4.0发布后不能正常显示图片问题