P5055 模板 可持久化文藝平衡樹

2022-06-16 09:48:11 字數 368 閱讀 9948

突然發現fhq_treap也是可以支援區間翻轉的,所以基本上和其他平衡樹是一樣的,而且還滿足重量平衡樹的性質,真是太優秀了,只不過常數稍微比較大。

然後這裡我們變成了一顆區間平衡樹,需要支援以下幾個操作。

若 opti=1,則接下來兩個整數 pi,xi​,表示操作為在第 pi個數後插入數 x。

若 opti=2,則接下來乙個整數 pi​,表示操作為刪除第 pi個數。

若 opti=3,則接下來兩個整數 li,ri,表示操作為翻轉區間 [li,ri]。

若 opti=4,則接下來兩個整數 li,ri​,表示操作為查詢區間 [li,ri]的和。

插入刪除就直接split和merge,翻轉區間就是打標記,相當於對整個子樹的左右兒子翻轉。

洛谷P5055 模板 可持久化文藝平衡樹

您需要寫一種資料結構,來維護乙個序列,其中需要提供以下操作 對於各個以往的歷史版本 在第 p 個數後插入數 x 刪除第 p 個數。翻轉區間 l,r 例如原序列是 翻轉區間 2,4 後,結果是 查詢區間 l,r 中所有數的和。和原本平衡樹不同的一點是,每一次的任何操作都是基於某乙個歷史版本,同時生成乙...

P3835 模板 可持久化平衡樹

您需要寫一種資料結構 可參考題目標題 來維護一些數,其中需要提供以下操作 對於各個以往的歷史版本 插入x數 刪除x數 若有多個相同的數,因只刪除乙個,如果沒有請忽略該操作 查詢x數的排名 排名定義為比當前數小的數的個數 1。若有多個相同的數,因輸出最小的排名 查詢排名為x的數 求x的前驅 前驅定義為...

模板 可持久化陣列(可持久化線段樹 平衡樹)

update 最後乙個點時間空間已經放大 標題即題意 有了可持久化陣列,便可以實現很多衍生的可持久化功能 例如 可持久化並查集 如題,你需要維護這樣的乙個長度為 n n n 的陣列,支援如下幾種操作 在某個歷史版本上修改某乙個位置上的值 訪問某個歷史版本上的某一位置的值 此外,每進行一次操作 對於操...