虽然这篇博客来的有点晚,但还是写了,欢迎dalao补充(
1、分块、莫队有关:
(1):一个真正的回滚莫队(感谢 Qyun 的讲解)
$\ \ \ \ \ \ \ \ $学习回滚莫队的时候,我们经常会在回滚时使用memcpy来恢复以前的版本,但众所周知--memset和memcpy常数巨大,破坏了莫队 $ O(n \sqrt n) $ 的时间复杂度,导致TLE。
$\ \ \ \ \ \ \ \ $但对于一些可以进行del操作,只是不好改变答案的回滚(比如求一个区间的众数),直接记下来回滚版本的ans,然后进行del操作,因为块长为 $ \sqrt n $ ,所以每次最多进行 $ \sqrt n $ 次操作,总时间复杂度$ O(n \sqrt n) $
----例题:CF741D