题解 P1033 【自由落体】
太坑人了
这不是明摆着坑那些没有学完初中物理的同学们
QAQ
首先这个题其实就是转换一下参照系。
由原先小车向小球靠拢换成小车静止,小球向着小车靠拢(原点设置成车右下角那个点)。
然后就成了平抛运动...
这就好办了,直接高中公式套上算二次函数的值就完了。
\]
所以每一个小球的坐标就是\((v\cdot t,H(t))\)。
但是还没有完,我们需要转换坐标系,即让t变成到小车的距离。
\]
最后小车坐标就变成了
\]
两个函数套坐标里了QAQ (还是感觉这是物理题啊QAQ)
算出时间
\]
直接递推搞定。
然后进入代码纠错阶段
首先注意能开double不要放过
其次注意让原先的状态向下转移(已经接到的就继续接到的状态)。
总体时间复杂度\(O(n\cdot h_1)\)
但是窝好像只过了两个点
还请各位dalao帮忙纠正QAQ
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
double eps=0.0001;
double lx,uy;
double h1,v,s1,L;
int n,ans;
bool f[100001];
//left x,right x,up y,down y
bool pd(double x,double y)
{
return x<=lx+eps && x<=0.0000-eps && y>=0.0000 && y<=uy+eps;
}
double H(double t)
{
return h1-5*t*t;
}
double S(double t)
{
return s1+L-v*t;
}
void work()
{
double tot=int(sqrt(h1/5));
for (double t=0.0;H(t)+eps>=0;t+=0.1)
{
for (register int i=0;i<n;i++)
{
f[i]=f[i]||pd(S(t),H(t));
}
}
for (int i=0;i<n;i++)
ans+=f[i];
}
int main()
{
double L;
scanf("%lf %lf %lf %lf %lf %d",&h1,&s1,&v,&L,&uy,&n);
lx=L+0.0000;
work();
printf("%d\n",ans);
return 0;
}
题解 P1033 【自由落体】的更多相关文章
- 洛谷——P1033 自由落体
P1033 自由落体 题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公 ...
- 洛谷P1033 自由落体
P1033 自由落体 题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公 ...
- 洛谷 P1033 自由落体
P1033 自由落体 题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公 ...
- 洛谷P1033 自由落体 题解
题目链接:https://www.luogu.org/problemnew/show/P1033 呵呵,真的学好物理比较重要,前些年卡在这题上的我今天终于会做了,可恶的自由落体(也许是我太弱了吧 ) ...
- P1033 自由落体
原题链接 https://www.luogu.org/problemnew/show/P1033 不得不说,这个题太坑了!!!主要是题目说得不明确...... 先来看图: 看一下用红圈圈起来的部分,就 ...
- 洛谷 P1033 自由落体 Label:模拟&&非学习区警告
题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公式为 d=1/2*g* ...
- P1033自由落体
传送 杯具wa,惨痛的教训————别写一些情况多到要打表的判断,写着写着就wa了 这个题,我主要死在判断上了 第一遍20分的思路:看小车此时跨越几个整数点.因为我求出了此时小车的车头坐标和车尾坐标.然 ...
- [NOIP2002] 提高组 洛谷P1033 自由落体
题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公式为 d=1/2*g* ...
- 使用CSS3动画模拟实现小球自由落体效果
使用纯CSS代码模拟实现小球自由落体效果: html代码如下: <div id="ballDiv"> <div id="ball">&l ...
- Android游戏开发:物理游戏之重力系统开发--圆形自由落体Demo
本节为大家提供有关物理游戏的知识,讲解了一个简单的圆形自由落体Demo的编写.. Java代码 package com.himi; import java.util.Random; import ja ...
随机推荐
- poj2431Expedition
A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poo ...
- [Linux] 014 帮助命令
1. 帮助命令:man 命令名称:man 命令所在路径:/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信息 范例: 查看 ls 命令的帮助信息 $ man ...
- Junit测试错误:### Error building SqlSession
错误代码: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.### The error ...
- vue 数组中嵌套的对象添加新属性--页面更新
vue 数组中嵌套的对象添加新属性--页面更新:https://www.jianshu.com/p/8f0e5bb13735
- [Codeforces712D] Memory and Scores(DP+前缀和优化)(不用单调队列)
[Codeforces712D] Memory and Scores(DP+前缀和优化)(不用单调队列) 题面 两个人玩游戏,共进行t轮,每人每轮从[-k,k]中选出一个数字,将其加到自己的总分中.已 ...
- Libre OJ 2255 (线段树优化建图+Tarjan缩点+DP)
题面 传送门 分析 主体思路:若x能引爆y,从x向y连一条有向边,最后的答案就是从x出发能够到达的点的个数 首先我们发现一个炸弹可以波及到的范围一定是坐标轴上的一段连续区间 我们可以用二分查找求出炸弹 ...
- python学习第二十八天函数局部变量的用法
函数局部变量是在函数里面的变量,只能在函数内部使用,如果函数没有找对应变量,函数将去函数外部找对应变量,局部变量优先级大于外部变量,详细说明一下 1,局部变量已经定义值 name='zhan san' ...
- word2vec 中的数学原理具体解释(二)预备知识
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/peghoty/article/details/37969635 word2vec 是 Googl ...
- .net core 调用webservice同步方法
更新VS2019 16.1版本 支持WebService同步调用 在连接服务中->选择客户端选项->Generate Synchronout Operations选择划勾 生成同步操作 ...
- JQuery的链式编程与隐式迭代
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...