D - Friend Suggestions

  • image
  • 考えたこと
    • 友達候補条件の4がぱっと見何のことやらと思ったが、要するに「連結である」と言ってるだけ
    • しかし先に連結成分を求めたところで「全部連結」という結果になる可能性もある
    • 頂点は10^5なので二乗のオーダーではダメ
    • 辺の数が10^5に制限されてることを活かすのか
    • 先にUnionFindで連結成分を求めてサイズ-1で初期化しておき、そこから各友達関係、ブロック関係について両端が同一の連結成分なら両端を-1する
  • 公式解説OK

ABC157