因為太菜了,所以也不知道這題的演算法到底應該叫做什麼,看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 對應的線段樹後,得到的那棵...