【题意概述】

  某个物体要从A途经B到达C,在通过B的时候速度不能超过vd.  它的加速度为a,最大速度为vm;AB之间距离为d,AC之间距离为L; 问物体最少花多少时间到达C.

【题解】

  分情况讨论。

  若物体一直加速,通过B之前速度已经超过了vd,那么显然物体必须先加速后减速才能保证通过B是速度为vd.

    先加速后减速也分为两种情况:加速后立即减速、加速后保持最大速度vm一段时间后再减速。

    通过了B之后物体从速度vd一直加速,直至到达C或者达到最大速度vm.

  若物体无法在通过B之前达到vd,那么显然物体一直加速,之后保持最大速度vm前进即可。

  做完了以上的分析,我们就可以结合物理公式直接计算。

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define rg register
#define N 200010
using namespace std;
int a,vm,l,d,vd;
double ans;
inline int read(){
int k=,f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
int main(){
a=read(); vm=read(); l=read(); d=read(); vd=read();
double t0=1.0*vd/a;
double s0=0.5*vd*t0;
// printf("%.2lf %.2lf\n",t0,s0);
if(s0<d&&vm>=vd){
// puts("a1");
double t1=1.0*(vm-vd)/a;
double s1=(vd+vm)*t1;
if(s0+s1<=d){
ans=t0+t1+t1+(d-s0-s1)/vm;
}
else{
double delta=*vd*vd-*a*(s0-d);
t1=1.0*(-*vd+sqrt(delta))/(*a);
ans=t0+t1+t1;
}
// printf("%.7lf\n",ans);
int d2=l-d;
double t2=1.0*(vm-vd)/a;
double s2=(vd+vm)*t2/;
if(s2<d2){
// puts("c1");
ans+=t2+1.0*(d2-s2)/vm;
}
else{
// puts("c2");
double vx=sqrt(vd*vd+*a*d2);
double t3=(vx-vd)/a;
ans+=t3;
}
}
else{
// puts("a2");
double v=sqrt(*a*d);
// printf("%.2lf\n",v);
if(v>=vm){
double t1=1.0*vm/a;
ans=t1+(d-vm*t1/)/vm+1.0*(l-d)/vm;
}
else{
double t1=1.0*v/a;
ans=t1;
// printf("%.7lf\n",ans);
int d2=l-d;
double t2=1.0*(vm-v)/a;
double s2=(v+vm)*t2/;
// printf("%.2lf\n",s2);
if(s2<d2){
ans+=t2+1.0*(d2-s2)/vm;
}
else{
double vx=sqrt(v*v+*a*d2);
double t3=(vx-v)/a;
ans+=t3;
}
}
}
printf("%.12lf\n",ans);
return ;
}

Codeforces 5D Follow Traffic Rules的更多相关文章

  1. Codeforces Beta Round #5 D. Follow Traffic Rules 物理

    D. Follow Traffic Rules 题目连接: http://www.codeforces.com/contest/5/problem/D Description Everybody kn ...

  2. codeforces 5D

    D. Follow Traffic Rules time limit per test 1 second memory limit per test 64 megabytes input standa ...

  3. 【codeforces 29B】Traffic Lights

    [题目链接]:http://codeforces.com/problemset/problem/29/B [题意] 一辆车; 让从A开到B; 然后速度是v; (只有在信号灯前面才能停下来..否则其他时 ...

  4. Codeforces Round #382 (Div. 2)C. Tennis Championship 动态规划

    C. Tennis Championship 题目链接 http://codeforces.com/contest/735/problem/C 题面 Famous Brazil city Rio de ...

  5. 【17.76%】【codeforces round 382C】Tennis Championship

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  6. Traffic Lights

    Traffic Lights time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  7. Codeforces Round #382 (Div. 2) C. Tennis Championship 斐波那契

    C. Tennis Championship time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  8. Painting The Wall 期望DP Codeforces 398_B

    B. Painting The Wall time limit per test 1 second memory limit per test 256 megabytes input standard ...

  9. Codeforces Round #256 (Div. 2) 题解

    Problem A: A. Rewards time limit per test 1 second memory limit per test 256 megabytes input standar ...

随机推荐

  1. Ubuntu开机之后报错结局方法

    sudo gedit /etc/default/apport 把里面的enabled=1改成enabled=,保存 201. 就是下雨也去.202. 我马上拿来.203. 孙英开飞机.204. 国华来 ...

  2. Qt容器类之二:迭代器

    一.介绍 遍历一个容器可以使用迭代器(iterators)来完成,迭代器提供了一个统一的方法来访问容器中的项目.Qt的容器类提供了两种类型的迭代器:Java风格迭代器和STL风格迭代器.如果只是想按顺 ...

  3. [POI2005]Sza-Template

    Description Byteasar 想在墙上涂一段很长的字符,他为了做这件事从字符的前面一段中截取了一段作为模版. 然后将模版重复喷涂到相应的位置后就得到了他想要的字符序列.一个字符可以被喷涂很 ...

  4. Adding New Machine ZOJ - 3540

    https://vjudge.net/problem/ZOJ-3540 错误记录: 扫描线没有考虑到同一行的要删除在前,加入在后:由于用了特殊的方式所以想当然以为不需要考虑这个问题 #include& ...

  5. Centos 6.5安装MySQL-python

    报错信息: Using cached MySQL-python-1.2.5.zip     Complete output from command python setup.py egg_info: ...

  6. CGI和Servlet的比较

    转载自:http://www.maxhis.info/java/cgi-vs-servlet/ 概括来说,CGI和Servlet可以完成相同的功能. CGI(Common Gateway Interf ...

  7. JAVA字符串转日期或日期转字符串【转】

    JAVA字符串转日期或日期转字符串[转] 文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: S ...

  8. Android手机屏幕投射到电脑神器Vysor

    做android开发的,经常要把手机屏幕投射到电脑,用来演示.普遍的解决方案是360或者豌豆荚的演示功能,缺点是延迟非常厉害,大概有3秒左右,非常影响演示效果.以下介绍Vysor,几乎0延迟,能与手机 ...

  9. 【Jenkins】Jenkins配置从节点,实现远程主机调用功能

    一.需求 使用Jenkins进行持续集成部署过程中,需要用到远端主机的处理功能.如部署到远程主机.文件备份等功能 二.思路 1.当远端主机为Linux系统时使用Publish Over SSH Plu ...

  10. UVM挑战及概述

    UVM的调度也具有其独特的挑战,尤其是在调试的领域.其中的一些挑战如下: 1. Phase的管理:objections and synchronization 2. 线程调试 3. Tracing i ...