要約

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 が属するグループの要素数

ソース

ソース