2021-8 清北學堂 省選 資料結構 內容回顧
阿新 • • 發佈:2021-10-27
主講人:李欣隆
D1:
Treap(tree+heap)性質:每個點隨機分配一個權值,使treap同時滿足堆性質和二叉搜尋樹性質,複雜度 \(O(n\log n)\)。
旋轉(rotate)有單旋和雙旋, treap只需要單旋,這一點比較簡單。
旋轉時最好先記錄每個點的編號,再斷連,再重構,最後按照點的編號呼叫函式 update(x)
。
Splay:每次對一個節點進行操作的時候通過―種方法把這個點旋轉至根,稱為Splay(伸展)操作。
注意:Splay要雙旋
用單旋(單旋到根稱為move to root)會被卡是常識了……對於單調資料,樹會退化成一條鏈,然後每次move最深的點就被卡掉啦~
Splay:
situation 1:
先 fa 後 cur
situation 2:
兩次 cur
Split:
Merge:
Fhq_treap:
先鴿著。
例題:
P4198 樓房重建
斜率預處理+線段樹 \(O(m\log^2n)\) 維護。
D2:
D3:
D4:
D5:
本文作者為小蒟蒻:zhangshaojia
轉載請註明原文連結。
碼字不易,求關照,謝謝!