ZROI#1012
考虑如果没有 $backspace$ 操作,那就是个 $SB$ 递推.
考虑加入 $backspce$ 后有什么影响,那就是出现环状转移.
那咋办,显然所有的转移一定都是正权,也就是不会有一种转移,使状态变化的同时减少答案次数.
我们知道,平时 $DP$ 的转移就是一张边带权的 $DAG$ , 我们要求的答案其实就是这张 $DAG$ 上从起始点到目标点的最短/长路.
那么这个题,我们不如就把这样一张转移图建出来,直接采用 $SPFA$ 的方式以重复入队来完成转移,因为一定会有一些状态是不在环中的,所以环上的状态可以通过多次入队调整松弛完成最优化.
建边的时候要考虑全面,漏掉一种边很可能就会收获 $0pts$ 的好成绩.
$backspace$ 操作肯定不会有很多,所以边数并不巨大,理论上需要 $n\times log_2{n}$ 条,而实际只需要向后 $\times 5$ 就能 $AC$.(多了会 $TLE$)
当然,可能某些人的代码需要卡卡常.
1 |
|