对于一直骑行在非队首的选手,能量消耗和距离是相等的,这给了我们用DP来处理的条件。
DP[i][j]表示i个人骑行距离j的最短时间。
于是有DP[i+1][d]=DP[i][k]+min_time(E-k,d-k)(0<k<=d),min_time(i,j)表示队首的人有能量j,骑行距离i的最短时间。通过观察可以发现,对于给定的距离d个时间t,总是把d划分为尽量相等的t段时消耗的能量较少,这也即是min_time函数的求解方法。
对于一直骑行在非队首的选手,能量消耗和距离是相等的,这给了我们用DP来处理的条件。
DP[i][j]表示i个人骑行距离j的最短时间。
于是有DP[i+1][d]=DP[i][k]+min_time(E-k,d-k)(0<k<=d),min_time(i,j)表示队首的人有能量j,骑行距离i的最短时间。通过观察可以发现,对于给定的距离d个时间t,总是把d划分为尽量相等的t段时消耗的能量较少,这也即是min_time函数的求解方法。