要約
Undo付き UnionFind です. Offline Dynamic Connectivity で使うために作りました.
使用法
UndoUnionFind uf(N); // ノードは 0 から N-1 まで
uf.merge(i, j); // i と j を同じグループに
uf.undo(); // 直近の merge() を取り消し
ld = uf.leader(i); // i が属するグループの代表元
sz = uf.gsize(i); // i が属するグループの要素数