競技プログラミング用 知識集積所

ABC409F - Connecting Points

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

B以下レベルの内容は省略

考え方

工夫が必要そうに見えて、実は愚直な実装が正解。
頂点間の距離全パターンを管理することさえできれば、UnionFind木(未作成)を使って指示通りの実装をするだけ。

そして頂点数は最大でも3000なので、全ての点の間の距離は最大で450万。
つまり、priority_queue(未作成)を使えば全ての頂点ペアを距離が短い順に取り出すことは楽勝である。

解答例


注意点

頂点の追加し忘れに注意

タイプ1のクエリで頂点を追加したとき、既存の頂点一覧に追加し忘れると、追加した頂点同士の距離がpriority_queue(未作成)から漏れてしまう。

別解

ウィキ募集バナー