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