高低跳 (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)\)

posted @ 2025-08-19 08:06  swate  阅读(6)  评论(0)    收藏  举报
body{ cursor: url(https://files.cnblogs.com/files/wkfvawl/cursor.ico),auto; }