BZOJ 3673 3674 可持久化並查集

2022-08-21 02:33:08 字數 756 閱讀 5064

用可持久化線段樹維護並查集的fa陣列

要按秩合併

好久不寫,有點生疏。

修改時都要開新節點,這樣才不會影響之前的版本

#include #define mid ((l + r) >> 1)

#define lp tree[p].l

#define rp tree[p].r

const int n = 2e5 + 7;

struct node ;

int n;

struct seg

build(lp, l, mid);

build(rp, mid + 1, r);

} void update(int &p, int l, int r, int pos, node v)

if (pos <= mid) update(lp, l, mid, pos, v);

else update(rp, mid + 1, r, pos, v);

} node query(int p, int l, int r, int pos)

node find(int p, int x)

} seg;

int root[n], m, ans;

int main() );

seg.update(root[i], 1, n, fy.l, );

} else if (opt == 2) else

} return 0;

}

BZOJ 3673 3674 可持久化並查集

by richard include include include include include include include define rep x,y,z for int x y x z x define per x,y,z for int x y x z x define log2 x...

bzoj 3166 可持久化Tire

每乙個數能做出的貢獻就是其兩端第二個比他大的中間的數和他的異或值 按權值大小排序,按照位置扔進set,set內的元素都是比他大的,也是全的 然後tire上跑就行了。include include include include include include define n 50050 using...

BZOJ 3166 可持久化Trie

welcome to alo arithmetic and logistic online 這是乙個vr mmorpg 如名字所見,到處充滿了數學的謎題。現在你擁有n顆寶石,每顆寶石有乙個能量密度,記為ai,這些寶石的能量 密度兩兩不同。現在你可以選取連續的一些寶石 必須多於乙個 進行融合,設為 a...