http://codeforces.com/contest/701/problem/D 题目
推导的思路就是 : 让每个人乘车的时间相等 ,让每个人走路的时间相等。 在图上可以这么表示
设 a 为每个人的乘车路程 ,t 为车的 1次往返的时间 ,v1是人走路的速度,v2是车速, g=n/k+(n%k==0? 0 : 1) 为这辆车需要往返的回合数
得到两个方程 :
方程1: ( 在车送第一批去然后回来接到第二批的时间 t 期间,第二批走的路程v1* t) + (车已经送达第一批到某个位置,从这个位置回来接第二批经过的路程) = 第一批人的乘车路程(即 a)
注意:t - a/v2 表示“车已经送达第一批到某个位置,从这个位置回来接第二批经过的时间”
方程2:每一个人到终点的时间 = 车到终点的总时间 (最后一车的人直接被车送到终点了)
即: 对同一个人:在车上的时间+走路的时间 = 车 往返接送(g-1)批的时间 + 最后一批直接送到终点的时间 。
由这两个方程可以得到关于 t 的解的方程,有些变量计算过程中可以被消掉。