人工知能と競プロやってくブログ

深層学習・機械学習・AI・atcoder・競技プログラミングについて調べてやってみたことをまとめるブログです

AtCoder Beginner Contest 177 [ D - Friends ]をPythonで解く(400点、🟫茶diff)

問題

atcoder.jp

解法

Union Findで友達グループの木構造を作成。
この友達グループを完全に解体したグループを作れば良い。
これには友達グループから一人ずつ割り振っていけば良い。
ゆえに友達グループの最大人数が、「元の友達グループを解体したグループ分けの最小」。

ゆえにUnion Findの結果から、友達グループの最大人数を求める。

実装