QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#9414. 多彩生成树

Statistics

BaoBao 有许多带颜色的顶点。颜色编号从 $1$ 到 $n$(包含 $1$ 和 $n$),其中颜色 $i$ 有 $a_i$ 个顶点。由于 BaoBao 刚在算法课上学习了最小生成树问题,他决定用这些顶点练习一下。

每对顶点之间都有一条带权边相连。每条边的权重仅与其两个端点的颜色有关。更准确地说,设 $c_u$ 为顶点 $u$ 的颜色,如果一条边连接顶点 $u$ 和 $v$,则其权重为 $b_{c_u, c_v}$。

请帮助 BaoBao 计算该图的最小生成树的总权重。

回想一下,最小生成树是一个连通加权图中连接所有顶点且没有环的边子集,其总权重尽可能小。

输入格式

输入包含多组测试数据。第一行包含一个整数 $T$,表示测试数据的组数。对于每组测试数据:

第一行包含一个整数 $n$ ($1 \le n \le 10^3$),表示不同颜色的数量。

第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^6$),其中 $a_i$ 是颜色为 $i$ 的顶点数量。

接下来的 $n$ 行中,第 $i$ 行包含 $n$ 个整数 $b_{i,1}, b_{i,2}, \dots, b_{i,n}$ ($1 \le b_{i,j} \le 10^6$),其中 $b_{i,j}$ 是连接颜色为 $i$ 和 $j$ 的两个顶点之间的边的权重。保证对于所有 $1 \le i, j \le n$,都有 $b_{i,j} = b_{j,i}$。

保证所有测试数据的 $n$ 之和不超过 $10^3$。

输出格式

对于每组测试数据,输出一行,包含一个整数,表示最小生成树的总权重。

样例

输入 1

3
3
100 1 1
1 100 2
100 100 1
2 1 100
2
3 3
100 1
1 100
1
1
5

输出 1

102
5
0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.