奇奇怪怪的四十分思路(悬赏关注
查看原帖
奇奇怪怪的四十分思路(悬赏关注
258178
Benzenesir楼主2022/8/28 17:28

是这样的,我一开始想这道题是用任务安排的思路去想的,设 f[i]f[i] 为前 ii 个人到人民大学的最短等待时间, lt[i]lt[i] 为前 ii 个人到人民大学的最后一次发车时间,t[i]t[i] 为同学到达时间,转移方程:

f[i]=min(f[j1]+(ij+1)×max(lt[i]+m,t[i]))f[i]=min(f[j-1]+(i-j+1)\times max(lt[i]+m,t[i]))

然后就得了25pts25pts

下载数据发现,每一次更新用的不一定是之前某个位置的最优解 比如下面这组数据:

排完序后的到达时间
0 0 0 0 0 0 82 82 82 83 83 84 85 85 85 85 94 95 96 97
当前的发车时间
0 0 0 0 0 0 82 82 82 84 84 84 86 86 85 85 94 95 96 97
等待时间之和
0 0 0 0 0 0  0  0  0  1  2  2  3  4  5  5  5  6  6  7

这里发现其实当前解的更新不一定是用的以前的最优解,所以我们要记录所有状态

f[i][j]f[i][j] 为将第 iijj 个人放在一起的最小花费,ltlt同理
转移方程就不写了,和上面差不多
理论时间复杂度O(n3)O(n^3) 只得了四十分,但跑得飞快 求dalao指出错误

2022/8/28 17:28
加载中...