活跃农民
- 积分
- 519
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2017-2-7
- 最后登录
- 1970-1-1
|
感觉是这个意思
int get_position(vector<pair<int,int>> time,vector<pair<int,int>> pos,int T){
// time is l1, pos is l2
int i=0,j=0,t=0; // i for time, j for pos
double d=0,v=1;// d for distance, v for velocity
while(t<T){
// 按一秒一秒计算
while(i<time.size() &&t>=time[i].first) v=time[i++].second;
double lapse=1.0; //剩下的运动的时间
while(j<pos.size() && d+v*lapse>double(pos[j].first)){
lapse-=(double(pos[j].first)-d)/v;
d=pos[j].first;
v=pos[j++].second;
}
if(lapse>0.0)
d+=v*lapse;
t++;
}
return d;
} |
|