P5465 [PKUSC2018] 星际穿越
记录一下这道有意思的题目。因为我之前没做国旗计划……
性质:如果当前走到了 \(y<x\),那么一定可以使用同样的步数走到 \(x\)。
所以我们完全可以在从 \(y\) 走到 \(y'\) 的时候发现中间有一个点 \(x\) 更优,直接从 \(y\) 退到 \(x\) 即可。
根据这个可撤销性,我们就得到了一个贪心思路:每次可以走到的最远点,就是 \(\min _{i=l_y}^n l_i\)。
但是考虑起点的特殊情况。由于刚开始只有一个点无法进行撤销操作。所以我们可以考虑花费一步向右走,走到一个最远的点 \(P\)。
可知:一定 \(l_p \le x\),且 \(\forall p'>p,l_p>x\)。
那么走到这里之后,接下来就像上面一样走即可,注意由于第一步可以直接向左,所以至少是 \(l_x\),然后如果需要撤回一种情况是撤回点 \(t\) 在 \([l_x,x]\) 中,那么可以到达不影响。但是如果 \(t>x\) 就要像上面说的那样先花一步向右走,但是由于这种情况的前提是有 \(l_t<l_y,y\in [l_x,x]\)。所以肯定是比直接左走更优的。
综上所述,我们一定可以在第二步的时候就达到“全可撤销态”。
然后就像其它题解说的一样,倍增即可。