不懂思路怎么错了(玄3关)
查看原帖
不懂思路怎么错了(玄3关)
1276844
Vinson_楼主2025/2/5 19:56

状态设计和循环转移顺序还是与题解相同,fijf_{ij}表示现在在第ii个节点进行第jj次检票

iniin_i表示第i号节点上车人数,outiout_i表示第i号节点下车人数

考虑将sumsum数组换成

sumi=i<=ni=1inioutisum_i= \sum^{i=1}_{i<=n} in_i-out_i

这样sumisum_i就表示在第i号节点上下车人结束后,车上人数

如果我们上一次在i号节点检票,这次在j号节点检票,那么新增检票人数就是sumjsumisum_j-sum_i(因为直接加sumjsum_j会多算i节点已经检完票的人,sumsumsigemasigema加出来的直接减去就行了)

那么状态转移方程就是

fik=max(fjk1+sum[i]sum[j])f_{ik}=max(f_{jk-1}+sum[i]-sum[j])

2025/2/5 19:56
加载中...