题目没有强制在线! 考虑离线做法. 把操作建立成一棵树的结构,然后按照欧拉序遍历,每次转移要么是一次合并操作,要么是一次撤销合并操作,可以看成是分离操作. 用LCT维护集合,合并就是加边,分离就是删边. 时间复杂度$O(m\log n)$ #include<cstdio> #define N 20010 int n,m,i,op,x,y,id[N],ans[N],last,g[N],nxt[N],v[N],q[N],w[N],ed,G[N],NXT[N],V[N],Q[N],W[N],ED,f…