Codeforces Round #364 (Div. 1) A - As Fast As Possible
来源:互联网 发布:中国菜刀源码 编辑:程序博客网 时间:2024/04/25 20:01
结论为最后几个学生同时到达就是最短时间
贪心证明 当最后一批学生到达之前有学生到达那之前的学生肯定被公交车载的更远那公交车走的距离就更长用的时间就更长那最后一批学生到达的时间也会晚
当最后一批学生比之前的学生提前到达那前一批学生走的时间会比所有学生同时到达的时间更长那也不是最优解
然后二分距离求同时到达的距离和时间
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>using namespace std;int l,v1,v2;int n,k;double ans2;double ok(double len){ double t; ans2 = len/v2; int n1 = n; n1-=min(n1,k); double len2 = len/v2*v1;//后面的学生 if(!n1)return len; t = (len-len2)/(v1+v2); ans2+=t; len = len+t*v1; len2 = len2+t*v1; while(n1) { t = (len-len2)/(v2-v1); ans2+=t; len = len+v1*t; len2 = len2+v1*t; n1-=min(n1,k); if(!n1)return len; t = (len-len2)/(v1+v2); ans2+=t; len = len+t*v1; len2 = len2+t*v1; } return len;}int main(){ scanf("%d %d %d %d %d",&n,&l,&v1,&v2,&k); double ans; double left = 0.0,right = l; int i1 = 0; for(int i=0;i<=100;i++) { double mid = (left+right)/2.0; double pre = ok(mid); i1++; if(abs(pre-l)<=1e-8)break; if(pre>l)right = mid; else if(pre<l)left = mid; } printf("%f\n",ans2); return 0;}
0 0
- Codeforces Round #364 (Div. 1) A - As Fast As Possible
- Codeforces Round #364 (Div. 1) A. As Fast As Possible
- Codeforces Round #364 (Div. 1)A. As Fast As Possible(数学)
- Codeforces Round #364 (Div. 2) D. As Fast As Possible
- Codeforces Round #364 (Div. 2) D. As Fast As Possible
- Codeforces Round #364 (Div. 2) D As Fast As Possible
- Codeforces Round #364 (Div. 2) D. As Fast As Possible(数学推导)
- Codeforces Round #364(Div. 2) D. As Fast As Possible 【数学】
- Codeforces Round #364 (Div. 2) D As Fast As Possible(数学)
- Codeforces Round #364 (Div. 2), problem: (D) As Fast As Possible
- Codeforces Round #364 (Div. 2) D. As Fast As Possible 【二分+贪心+验证】
- cf/Codeforces Round #364 D As Fast As Possible 数学
- CodeForces 725A 之 As Fast As Possible
- Codeforces 700A As Fast As Possible(机智)
- codeforces#364DAs Fast As Possible
- codeforces round #364 div2 D As Fast As Possible 二分+贪心
- codeforces 364 div2 D As Fast As Possible
- codeforces 701 D. As Fast As Possible
- 工作之后小感慨一下
- PS1变量设置
- Java源码-简单的剪切板程序
- 【CodeForces 580B】Kefa and Company
- Android多点触摸交互处理
- Codeforces Round #364 (Div. 1) A - As Fast As Possible
- jvm垃圾回收相关优化笔记
- h5基础知识一
- Spring MVC框架简单使用
- 整合SSH框架 (Struts2.x+Spring3.x+hibernate3.x+oracle)
- 函数调用-----压栈的工作原理
- java克隆容器后,容器内的对象相同
- 最大似然估计
- git ignore 相关