快乐的一天从AC开始 | 20210724 | P3203
(补20210719)
心路历程
复习分块
思路
其实可以用LCT搞,这个做法之后再复习。
分块的话就是对每一个位置维护\(cost_i\)和\(to_i\),分别表示跳出所属块的步数和跳出去后的位置。逆序处理,可以做到\(O(n)\)。
查询的话就是一块一块跳,至多跳\(\sqrt{n}\)次。
修改的话,就是暴力重构当前块,其实如果修改\(p\)的话只修改\(p\)之前的位置就可以了,逆序做可以搞到\(O(\sqrt{n})\)。
莫队,分块这种优美的暴力是真的爽,学了好几年了,依旧觉得写起来一场舒服