1. 程式人生 > >勢能線段樹/吉司機線段樹-我沒有腦子

勢能線段樹/吉司機線段樹-我沒有腦子

https ref add 一個 del 個數 http 變量 log

勢能線段樹/吉司機線段樹

BZOJ3211 花神遊歷各國
BZOJ5312 冒險
BZOJ4355 Play with sequence
BZOJ4695 最假女選手

A[i] = max(A[i], x) 這種操作的 tag 不需要實際記錄下來, son.mn1 = min(max(son.mn1, dad.mn1), dad.mx1) 就行了。

修改 mn1, mn2 的時候需要特判區間只有 1 個數和 2 個數的情況,因為這些情況涉及到 mx1, mx2 也可能改變。

想清楚 tag_covertag_add 應該如何疊加。

想清楚怎樣更新嚴格的 mn1, mn2

代碼長的時候心態別崩,不要皮,不要打錯變量名……這是老生常談了。

善於利用黑暗暴走 OJ 。

關於復雜度證明:關鍵節點,似乎一個關鍵節點改變用一個 log ,然後根據 tag 標記的原理至多 log 個 tag ,所以理論上是 \(O(n\cdot \log^2 n)\) ,實際上接近 \(O(n\cdot \log n)\)

勢能線段樹/吉司機線段樹-我沒有腦子