AT_arc160_e [ARC160E] Make Biconnected

题目描述

给定一棵有 $N$ 个顶点的无向树 $G$。**$G$ 的所有顶点的度数都不超过 $3$。** 顶点编号为 $1$ 到 $N$。边编号为 $1$ 到 $N-1$,第 $i$ 条边连接顶点 $u_i$ 和顶点 $v_i$。 此外,每个顶点都有一个权值,第 $i$ 个顶点的权值为 $W_i$。 你可以在 $G$ 上添加 $0$ 条或多条边。若在顶点 $i$ 和顶点 $j$ 之间添加一条边,则需要花费 $W_i + W_j$ 的代价。 请输出一种添加边的方法,使得满足以下条件,并且总代价最小: - $G$ 是二重顶点连通的。也就是说,对于 $G$ 中任意一个顶点 $v$,即使将 $v$ 及其所有相邻的边从 $G$ 中移除,$G$ 依然保持连通。 给定 $T$ 组测试数据,请分别输出每组的答案。

输入格式

输入以如下格式从标准输入给出,其中 $\mathrm{case}_i$ 表示第 $i$ 个测试用例。 > $T$ > $\mathrm{case}_1$ > $\mathrm{case}_2$ > $\vdots$ > $\mathrm{case}_T$ 每个测试用例的输入格式如下: > $N$ > $W_1\ W_2\ \dots\ W_N$ > $u_1\ v_1$ > $u_2\ v_2$ > $\vdots$ > $u_{N-1}\ v_{N-1}$

输出格式

对于每个测试用例,输出如下格式的答案。设: - 需要添加的边数为 $M$, - 第 $i$ 条添加的边连接顶点 $a_i$ 和顶点 $b_i$。 如果有多种方案都能达到最小总代价,输出任意一种即可。 > $M$ > $a_1\ b_1$ > $a_2\ b_2$ > $\vdots$ > $a_M\ b_M$

说明/提示

### 限制条件 - $1 \leq T \leq 2 \times 10^5$ - $3 \leq N \leq 2 \times 10^5$ - $1 \leq u_i, v_i \leq N$ - 输入给定的图是树 - 输入给定的图中所有顶点的度数不超过 $3$ - $1 \leq W_i \leq 10^9$ - $W_i$ 是整数 - 所有测试用例中 $N$ 的总和不超过 $2 \times 10^5$ ### 样例解释 1 在第 $1$ 个测试用例中,连接顶点 $1$ 和顶点 $3$ 可以使 $G$ 满足题目要求。此时总代价为 $W_1 + W_3 = 2 + 5 = 7$。不存在总代价小于 $7$ 且满足条件的方案,因此这是最优解。 在第 $2$ 个测试用例中,总代价为 $(W_7 + W_6) + (W_1 + W_5) = 1100000 + 10001 = 1110001$,这是最小的。 由 ChatGPT 4.1 翻译