【推导】Codeforces Round #364 (Div. 2) D. As Fast As Possible
生活随笔
收集整理的這篇文章主要介紹了
【推导】Codeforces Round #364 (Div. 2) D. As Fast As Possible
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一種方法是二分總時間,復雜度O(nlogn)。
另外我們可以證明,當所有人同時到達終點的時候,是最優的,因為沒有人的時間“浪費”了。
我們又發現,每個人的運動過程總是兩段,要么是走路,要么是坐車。于是每個人的運動都是等價的(坐車的時間也相等,走路的時間也相等)。
這里借用一下這個推導,懶得寫了。
(http://blog.csdn.net/say_c_box/article/details/52001850)
根據上面的過程得出d以后,于是有d*(組數-1)+l1=l,然后就可以解出l1,然后l1/v2+(l-l1)/v1就是答案,因為每個人的運動過程相同,我們只需要算第一組人的運動總時間即可。
#include<cstdio> using namespace std; int n,K; double l,v1,v2; int main(){while(scanf("%d%lf%lf%lf%d",&n,&l,&v1,&v2,&K)!=EOF){int zu=n/K+(n%K ? 1 : 0);double l1=l*(v1+v2)/(2.0*v1*((double)zu-1.0)+v1+v2);printf("%.10f\n",l1/v2+(l-l1)/v1);}return 0; }轉載于:https://www.cnblogs.com/autsky-jadek/p/7117540.html
總結
以上是生活随笔為你收集整理的【推导】Codeforces Round #364 (Div. 2) D. As Fast As Possible的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果公司有“内鬼”!ID被盗后每条只卖1
- 下一篇: MariaDB/MySql 服务消失无法