数颜色
带修莫队 模板题
看到别人题解,发现有个小技巧,时间纬度在更改的时候直接 swap 当前值和要修改的值,下次回来的时候 swap 回去是一样的,这样就可以不用多记录状态了
https://fangkaipeng.com/?p=1504
我还发现非常 BZOJ 的数据和 AcWing 的数据相当奇怪,用分块大小为 \(\sqrt{n}\) 作为分块会更加快,而洛谷的数据用分块大小为 \(n^{\frac{2}{3}}\) 会更快
我的猜测是数据范围约束的问题,BZOJ 和 AcWing 的条件约束说修改的次数在于 1000 次以下,可能就导致了时间纬度修改的比较少,因此最优分块趋近于 \(\sqrt{n}\)
https://www.acwing.com/problem/content/2523/
正常的复杂度分析来说,分块大小应该为 \(n^{\frac{2}{3}}\),复杂度为 \(O(n^{\frac{5}{3}})\)
https://www.luogu.com.cn/problem/P1903
#include
#include
#include
#include
#include
#include
#include
#include