SP4487 Solution
link
考慮用 fhq-treap 維護序列:按照 siz 進行 split,每次 split 出前 \(k\) 小的元素。於是這裡就以序列下標為關鍵字,在平衡樹中排序。
在 \(p\) 處單點插入的話執行 split(rt,p-1,x,y)
後對創造新節點 \(z\) 再執行 rt=merge(merge(x,z),y)
即可。刪除和修改類似,先執行 split(rt,p,x,y),split(x,p-1,x,z)
後刪除或修改 \(z\) 即可。
然後每個節點按小白逛公園的方法維護最大子段和,push_up
時順便維護。