洛谷 P3834 可持久化線段樹 2(主席樹)

2021-10-03 16:48:55 字數 580 閱讀 5137

因為太菜了,所以也不知道這題的演算法到底應該叫做什麼,看hzw部落格中把這題歸到主席樹了,那我也歸到主席樹里吧。

其實我連主席樹定義都不知道…

#include

using

namespace std;

const

int n=

2e5+5;

int n,q,m,x,y,t,cnt;

int a[n]

,b[n]

,ll[n<<5]

,rr[n<<5]

,sum[n<<5]

,t[n]

;int

change

(int pre,

int l,

int r,

int x)

return rt;

}int

query

(int u,

int v,

int l,

int r,

int x)

intmain()

while

(q--

)return0;

}

可持久化線段樹模板 解釋(洛谷 P3834)

模板鏈結 可持久化線段樹是一種可持久化結構,需要知道的前導知識有 線段樹 權值線段樹 離散化 線段樹的動態開點。說實話,當蒻苟我做了那麼多 的線段樹後發現,可持久化線段樹 僅限模板 還是很好寫的。什麼叫可持久化?可以想象,有乙個線段樹,他除了可以進行普通的查詢修改操作,還可以記錄歷史版本,即,我們可...

洛谷P3834 可持久化線段樹 主席樹 模板

題目 無法忍受了,我要寫主席樹!解決區間第 k 大查詢問題,可以用主席樹,像字首和一樣建立 n 棵字首區間的權值線段樹 然後 n 棵線段樹可以共用一些節點 線段樹的 sum 可以相減,利用這個查詢即可 什麼嘛,主席樹也沒我想得那麼難 蠻簡單的 如下 include include include i...

P3834 模板 可持久化線段樹 2(主席樹)

題目鏈結 靜態查詢區間第k小問題。我們先要知道,權值線段樹可以維護整體區間的桶,查詢整體區間第k小。雖然這題是查詢子區間 l,r 的第k小,但我們可以轉化成整體區間第k小問題 我們對每個字首都建一棵權值線段樹,用於維護出現個數。則 1,r 區間對應的線段樹減去 1,l 1 對應的線段樹後,得到的那棵...