#P14246. [CCPC 2024 Shandong I] 多彩的生成树

[CCPC 2024 Shandong I] 多彩的生成树

题目描述

堡堡有很多彩色的节点。颜色的编号从 11nn(含两端),第 ii 种颜色共有 aia_i 个节点。因为堡堡刚刚在算法课上学习了最小生成树问题,他打算利用这些节点做一些练习。

每一对节点都会被一条带有权值的边连接。每一条边的权值只和它两个端点的颜色有关。具体来说,令 cuc_u 表示节点 uu 的颜色,若一条边连接了节点 uuvv,它的权值就是 bcu,cvb_{c_u, c_v}

请帮助堡堡求出这张图的最小生成树的总权值。

请回忆:最小生成树是一张带权连通图的边的子集,这些边连通了所有节点,不会形成环,且总权值最小。

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数。对于每组测试数据:

第一行输入一个整数 nn1n1031 \le n \le 10^3)表示颜色的种数。

第二行输入 nn 个整数 a1,a2,,ana_1, a_2, \cdots, a_n1ai1061 \le a_i \le 10^6),其中 aia_i 表示颜色 ii 有几个节点。

对于接下来的 nn 行,第 ii 行输入 nn 个整数 bi,1,bi,2,,bi,nb_{i, 1}, b_{i, 2}, \cdots, b_{i, n}1bi,j1061 \le b_{i, j} \le 10^6),其中 bi,jb_{i, j} 表示两个端点的颜色分别为 iijj 的边的权值。保证对于所有 1i,jn1 \le i, j \le nbi,j=bj,ib_{i, j} = b_{j, i}

保证所有数据 nn 之和不超过 10310^3

输出格式

每组数据输出一行一个整数,表示最小生成树的总权值。

3
3
100 1 1
1 100 2
100 100 1
2 1 100
2
3 3
100 1
1 100
1
1
5
102
5
0