快乐的一天从AC开始 | 20210724 | P3203

题目链接

(补20210719)

心路历程

复习分块

思路

其实可以用LCT搞,这个做法之后再复习。

分块的话就是对每一个位置维护\(cost_i\)\(to_i\),分别表示跳出所属块的步数和跳出去后的位置。逆序处理,可以做到\(O(n)\)

查询的话就是一块一块跳,至多跳\(\sqrt{n}\)次。

修改的话,就是暴力重构当前块,其实如果修改\(p\)的话只修改\(p\)之前的位置就可以了,逆序做可以搞到\(O(\sqrt{n})\)

莫队,分块这种优美的暴力是真的爽,学了好几年了,依旧觉得写起来一场舒服

posted @ 2021-07-24 16:51  _Backl1ght  阅读(22)  评论(0编辑  收藏  举报