高低跳 (jump)
Subtack 1
我会暴搜!
朴素解法,直接 dfs 即可。
Subtask 2
考虑对上面的写法优化,考虑到只能往后跳,且如果上一次是“高跳”,这一次就是“高跳”;反之亦然。所以可以设计一个 \(dp_{i,j}\),\(j \in \{0,1\}\) 表示上一次是怎么跳的,再枚举 \(i\) 前面的点 \(j\) 模拟转移。\(O(n^2)\) 会超时。
Subtask 3
\(O(n^2)\) 太慢,我们可以优化转移,开两个线段树表示“高跳”和“低跳”,这样能把转移优化到 \(O(\log n)\)。

浙公网安备 33010602011771号