状态设计和循环转移顺序还是与题解相同,fij表示现在在第i个节点进行第j次检票
令ini表示第i号节点上车人数,outi表示第i号节点下车人数
考虑将sum数组换成
sumi=∑i<=ni=1ini−outi
这样sumi就表示在第i号节点上下车人结束后,车上人数
如果我们上一次在i号节点检票,这次在j号节点检票,那么新增检票人数就是sumj−sumi(因为直接加sumj会多算i节点已经检完票的人,sum是sigema加出来的直接减去就行了)
那么状态转移方程就是
fik=max(fjk−1+sum[i]−sum[j])