1630 新的开始 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1630

新的开始

Easy 时间限制 1000 ms 内存限制 262144 KB
最小生成树

题目详情

返回题库

题目描述

发展采矿业当然首先得有矿井,小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了n口矿井,但他似乎忘记考虑的矿井供电问题……

为了保证电力的供应,小 FF 想到了两种办法:

在这一口矿井上建立一个发电站,费用为v(发电站的输出功率可以供给任意多个矿井)。

将这口矿井与另外的已经有电力供应的矿井之间建立电网,费用为p。

小 FF 希望身为「NewBe_One」计划首席工程师的你帮他想出一个保证所有矿井电力供应的最小花费。

输入描述

第一行一个整数 n ,表示矿井总数。

第 2∼n+1  行,每行一个整数,第 i  个数 $v_i$  表示在第 i  口矿井上建立发电站的费用。

接下来为一个 n×n  的矩阵 p ,其中 $p_{i,j}$  表示在第 i  口矿井和第 j  口矿井之间建立电网的费用(数据保证有$p_{i,j}$=$p_{j,i}$​ ,且 $p_{i,i}=0$ 。

输出描述

输出仅一个整数,表示让所有矿井获得充足电能的最小花费。

数据范围:

对于 30% 的数据:1≤n≤50;

对于 100% 的数据:$1 \leq n \leq 300,0 \leq v_i,p_{i,j} \leq 10^5 $。

提示

样例解释

小 FF 可以选择在4号矿井建立发电站然后把所有矿井都不其建立电网,总花费是3+2+2+2=9。

测试样例

样例支持多行内容展示
样例1
输入
4  
5  
4 
4  
3  
0 2 2 2  
2 0 3 3  
2 3 0 4  
2 3 4 0
输出
9
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。