https://codeforces.com/gym/104065/
原题做法是类似猫树转成前缀后缀,写起来太麻烦,不如如下做法:
如果每个区间所需满足的点不超过 \(\sqrt{n}\) 个,即可以如下暴力:
把每个区间拍到线段树上,每次更新一个点,则在线段树上把所有包含他的区间全部 \(-1\) 看看是否减到了 \(0\),拿个队列一直更新下去即可。
考虑神秘的操作分块:我们只关心 \(k < \sqrt{n}\) 的区间,然后每进行 \(sqrt{n}\) 次修改就暴力重构求出所有区间的 \(k\) 并更新线段树。
注意每个区间只会加入线段树 \(1\) 次,会被改动 \(O(\sqrt{n})\) 次但是每次复杂度是 \(O(1)\),故复杂度就是 \(O(m \sqrt{n})\)。
标签:Me,题解,线段,sqrt,Call,区间 From: https://www.cnblogs.com/imakf/p/17628483.html