atcoder#CODEFESTIVAL2016FINALG. Zigzag MST
Zigzag MST
配点 : 点
問題文
個の頂点からなるグラフがあり、頂点には の番号が付けられています。辺はまだありません。
辺を追加するクエリを 個処理します。 番目のクエリでは の つの整数が与えられるので、以下のように辺を無限本追加します。
- 番の頂点と 番の頂点をつなぐ、重み の無向辺を追加する。
- 番の頂点と 番の頂点をつなぐ、重み の無向辺を追加する。
- 番の頂点と 番の頂点をつなぐ、重み の無向辺を追加する。
- 番の頂点と 番の頂点をつなぐ、重み の無向辺を追加する。
- 番の頂点と 番の頂点をつなぐ、重み の無向辺を追加する。
- 番の頂点と 番の頂点をつなぐ、重み の無向辺を追加する。
- 番の頂点と 番の頂点をつなぐ、重み の無向辺を追加する。
- ...
ただし、頂点番号は mod で考えます。 たとえば、 番とは 番のことであり、 番とは 番のことです。
例えば、 のときは下図のように辺を追加します。(図では最初の 本のみ)
すべての辺を追加した後のグラフの最小全域木に含まれる辺の重みの和を求めて下さい。
制約
入力
入力は以下の形式で標準入力から与えられる。
:
出力
最小全域木に含まれる辺の重みの和を出力せよ。
7 1
5 2 1
21
最小全域木は下図のようになります。
多重辺が存在しうることに注意して下さい。
2 1
0 0 1000000000
1000000001
自己ループが存在しうることに注意して下さい。
5 3
0 1 10
0 2 10
0 4 10
42