【題解】 Call Me Call Me CCPC Mianyang 2022
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})\)。

浙公網安備 33010602011771號