线段树合并好写好调,隔壁老王的treap+启发式合并难写难调 #include <iostream> #include <cstdio> using namespace std; int n, m, fa[100005], val[100005], rot[100005], uu, vv, fan[100005], cnt; int lson[5000005], rson[5000005], sum[5000005]; char ss[5]; int myfind(int x){…
[HNOI2012]永无乡 LG传送门 线段树合并练手题,写这篇博客只是为了给我的这篇文章找个板子题. 并查集维护连通性,对于不在同一个连通块内的合并操作每次直接合并两颗线段树,复杂度\(O(n \log n)\). //written by newbiechd #include <cstdio> #define R register #define I inline using namespace std; const int N = 100003; int f[N], id[N], rt[…