#ATarc160e. [ARC160E] Make Biconnected
[ARC160E] Make Biconnected
题目描述
给定一棵有 个顶点的无向树 。 的所有顶点的度数都不超过 。
顶点编号为 到 。边编号为 到 ,第 条边连接顶点 和顶点 。
此外,每个顶点都有一个权值,第 个顶点的权值为 。
你可以在 上添加 条或多条边。若在顶点 和顶点 之间添加一条边,则需要花费 的代价。
请输出一种添加边的方法,使得满足以下条件,并且总代价最小:
- 是二重顶点连通的。也就是说,对于 中任意一个顶点 ,即使将 及其所有相邻的边从 中移除, 依然保持连通。
给定 组测试数据,请分别输出每组的答案。
输入格式
输入以如下格式从标准输入给出,其中 表示第 个测试用例。
每个测试用例的输入格式如下:
输出格式
对于每个测试用例,输出如下格式的答案。设:
- 需要添加的边数为 ,
- 第 条添加的边连接顶点 和顶点 。
如果有多种方案都能达到最小总代价,输出任意一种即可。
样例 1
输入
2
3
2 3 5
1 2
2 3
7
1 10 100 1000 10000 100000 1000000
1 2
2 3
2 4
3 5
3 6
4 7
输出
1
1 3
2
7 6
1 5
说明/提示
限制条件
- 输入给定的图是树
- 输入给定的图中所有顶点的度数不超过
- 是整数
- 所有测试用例中 的总和不超过
样例解释 1
在第 个测试用例中,连接顶点 和顶点 可以使 满足题目要求。此时总代价为 。不存在总代价小于 且满足条件的方案,因此这是最优解。
在第 个测试用例中,总代价为 $(W\_7 + W\_6) + (W\_1 + W\_5) = 1100000 + 10001 = 1110001$,这是最小的。
由 ChatGPT 4.1 翻译