atcoder#ABC270F. [ABC270F] Transportation
[ABC270F] Transportation
题目描述
AtCoder 国には 個の島があり、 最初、どの島にも空港・港はなく、どの島の間にも道路はありません。 王である高橋君はこれらの島の間に交通手段を用意することにしました。 具体的には、高橋君は次の操作のうち つを選んで行うことを好きなだけ繰り返す事ができます。
- をみたす を選び、コスト を払って、島 に空港を建設する。
- をみたす を選び、コスト を払って、島 に港を建設する。
- をみたす を選び、コスト を払って、島 と島 の間を双方向に結ぶ道路を建設する。
高橋君の目標は、任意の相異なる つの島 , について、 島 からはじめて次の行動のうち つを選んで行うことを好きなだけ繰り返す事で、 島 に到達することができるようにする事です。
- 島 の両方に空港がある時、島 から島 まで移動する。
- 島 の両方に港がある時、島 から島 まで移動する。
- 島 を結ぶ道路が存在する時、島 から島 まで移動する。
高橋君が目標を達成するのに必要な最小コストを求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
高橋君が目標を達成するのに必要な最小コストを出力せよ。
题目大意
有 个点,如下操作:
- 对于 ,可以花 的贡 号点建一个机场 .
- 对于 ,可以花 的贡献在 号点建一个港口 .
- 对于 ,可以花 的贡献在 号点到 号点连一条无向边 .
如果两个点 满足下列条件之一,则 可以互相到达:
- 都有机场 .
- 都有港口 .
- 到 有边 .
问至少花多少代价才能让所有点连通 .
, .
4 2
1 20 4 7
20 2 20 3
1 3 5
1 4 6
16
3 1
1 1 1
10 10 10
1 2 100
3
7 8
35 29 36 88 58 15 25
99 7 49 61 67 4 57
2 3 3
2 5 36
2 6 89
1 6 24
5 7 55
1 3 71
3 4 94
5 6 21
160
提示
制約
- ならば
- 入力は全て整数
Sample Explanation 1
高橋君は次のように交通手段を建設します。 - コスト を払って、島 に空港を建設する。 - コスト を払って、島 に空港を建設する。 - コスト を払って、島 に港を建設する。 - コスト を払って、島 に港を建設する。 - コスト を払って、島 と島 の間を結ぶ道路を建設する。 このとき、目標は達成されており、かかったコストは となります。 コスト 以下で目標を達成する方法はないため、 を出力します。
Sample Explanation 2
空港・港・道路のうち、一度も建設されないものがあっても構いません。