template<class Node>
struct PersidentSegmentTree {
#define lc(u) tr[u].l
#define rc(u) tr[u].r
#define sum(u) tr[u].s
const int n;
int tot = 0;
vector<Node> tr;
vector<int> root;
PersidentSegmentTree(): n(0) {}
PersidentSegmentTree(int n_): n(n_) {
int N = (n << 7) + 10;
tr.reserve(N); root.reserve(N);
tr.resize(N); root.resize(N);
function<void(int&, int, int)> build = [&](int& u, int l, int r) {
u = ++ tot;
sum(u) = 0;
if (l == r) {javascript:void(0);
return ;
}
int m = (l + r) >> 1;
build(lc(u), l, m);
build(rc(u), m + 1, r);
};
build(root[0], 1, n);
}
void insert(int u, int& v, int l, int r, int pos) {
v = ++ tot;
tr[v] = tr[u], sum(v) = sum(u) + 1;
if (l == r)
return;
int m = l + r >> 1;
if (pos <= m)
insert(lc(u), lc(v), l, m, pos);
else
insert(rc(u), rc(v), m + 1, r, pos);
}
int query(int u, int v, int l, int r, int k) {
if (l == r)
return l;
int m = l + r >> 1, s = sum(lc(v)) - sum(lc(u));
if (k <= s)
return query(lc(u), lc(v), l, m, k);
else
return query(rc(u), rc(v), m + 1, r, k - s);
}
};
struct Node {
int l, r, s;
};
主席樹模板
相關文章
- 動態主席樹模板
- 主席樹
- 【主席樹】P3919 【模板】可持久化線段樹 1持久化
- 洛谷 P3919 可持久化線段樹 1 之主席樹模板(初級)持久化
- 【資料結構】淺談主席樹資料結構
- SPOJ TTM To the moon(主席樹+區間操作)
- BZOJ4299: Codechef FRBSUM(主席樹)
- 演算法隨筆——主席樹(可持久化線段樹)演算法持久化
- bzoj3439: Kpm的MC密碼(主席樹+DFS序+字典樹)密碼
- 線段樹模板
- 【模板】珂朵莉樹
- SPOJ DQUERY (離線數狀陣列||線上主席樹)陣列
- 【模板】最小生成樹
- 可持久化線段————主席樹(洛谷p3834)持久化
- 2024年3月21日 懸繩法 + 珂朵莉樹(ODT) + 主席樹
- bzoj4477: [Jsoi2015]字串樹(主席樹+Hash+Lca)JS字串
- Bzoj 1901 Zju2112 Dynamic Rankings(樹狀陣列+主席樹)陣列
- CF 220E Little Elephant and Inversions(主席樹+two points)
- 線段樹模板總結
- 模板口胡:樹同構
- 線段樹+差分——【模板】樹狀陣列2陣列
- hdu 2665 可持久化線段樹求區間第K大值(函式式線段樹||主席樹)持久化函式
- [18/03/24] 線段樹模板
- #8. 「模板」樹鏈剖分
- bzoj4448: [Scoi2015]情報傳遞(主席樹+Lca)
- bzoj5178: [Jsoi2011]棒棒糖(主席樹)JS
- 樹狀陣列模板+習題集陣列
- P8306 【模板】字典樹
- bzoj3110: [Zjoi2013]K大數查詢(主席樹+樹狀陣列)陣列
- bzoj2809: [Apio2012]dispatching(DFS序+主席樹)API
- bzoj5177: [Jsoi2013]貪心的導遊(主席樹)JS
- bzoj3932: [CQOI2015]任務查詢系統(主席樹)
- 線段樹模板重製(自寫自用)
- 洛谷 - P3690 【模板】Link Cut Tree (動態樹)(LCT模板)
- bzoj1146: [CTSC2008]網路管理Network(dfs序+主席樹+樹狀陣列)陣列
- Link-Cut Tree(LCT) 模板總結 & 水題/模板題 動態樹
- bzoj2733: [HNOI2012]永無鄉(並查集+主席樹)並查集
- 【題解】Solution Set - NOIP2024集訓Day3 權值線段樹、動態開點、主席樹