以下の内容はhttps://emtubasa.hateblo.jp/entry/2019/04/10/221442より取得しました。


ABC097 D - Equals

問題
提出コード

解法

p_{i}p_{j}、およびp_{j}p_{k}が交換可能な場合、p_{i}p_{k}は2回の操作で交換可能になります。
このようなことが全てのペアについて言えるので、結局は

  • 入力で与えられる(x_{j},y_{j})を辺とみなしてN頂点M辺のグラフを作成したときに、最終的に連結な頂点同士はスワップ可能

となります。
あとは、任意のiについて、ip_{i}スワップ可能かどうかを調べ、可能な個数を求めれば答えとなります。
連結な部分の判定は、Union-Find木を用いれば用意に判定できるので、それを利用すればよいです。

解法

コンテスト当時は、初めてUnion-Find木に触れた問題なので、とても記憶に残っています。実装もUnion-Findは優しめなので結構教育的な一問?だと思っています。




以上の内容はhttps://emtubasa.hateblo.jp/entry/2019/04/10/221442より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14