題意:給出n個相同小球的初速度和初位置,初方向,v*a=c,碰撞為完全彈性碰撞,問t時刻的第k小的速度為多少
思路:v*a=c
v*dv/dt=c;
v*dv=c*dt;
1/2*v*v=c*t+c0;
把t=0代入,得c0=1/2*v0*v0;
所以 v=sqrt(2*c*t+v0*v0)
注意2*c*t+v0*v0會爆int
#include #include #include #include #include #include #include #include #include #include #define ll long long
#define eps 1e-8
#define maxn 150
#define mod 110119
#define inf 0x3f3f3f3f
#define in freopen("in.txt","r",stdin);
using namespace std;
int main(){
// in;
int t;
cin>>t;
int v[100005],d[100005],x[100005];
int n,c;
while(t--){
int n,c;
scanf("%d%d",&n,&c);
for(int i=0;i
hdu 5826 積分推導
題目 題意 在一條無限長水平直軌道上有n個相同的球,給出每個球的初速度 起始位置 方向.給出若干詢問,每次輸出 t 秒時第 k 小的速度是多少.對任意球的任一時刻而言,速度與加速度同方向,且它們的乘積為定值c.所發生的碰撞為完全彈性碰撞 題解 完全彈性碰撞 無動能損失,碰撞後兩球交換速度 因此不必要...
HDU 5826 速度 加速度 積分
題意 有n個小球,最開始給出小球的初始位置和初速度和方向,每乙個小球的加速度滿足c a v c為常數a為加速度v為速度,現在問在t秒的時候,第k小的速度是多少。思路 最開始千萬別被嚇到,小球的速度因為滿足動量守恆,所以即使相撞也只是兩個求交換了一下速度,不影響球的實際運動。所以第k 小的速度直接就是...
hdu 4969 物理 積分
題意 a從圓心出發去追b,b沿著圓跑,速度分別是v2,v1 勻速 a,b,圓心始終三點共線,圓半徑為r,問a在d距離內能否追到b。哎,大學的物理積分都忘記了。好陌生了。看了題解才會的。把a的速度v2分解為徑向速度和切向速度,則切向速度和b的速度平行,角速度相等,w 哦公尺噶 v1 r,設某時刻a距離...