#arc160e. [arc160_e]Make Biconnected

[arc160_e]Make Biconnected

题目描述

给定一棵具有 NN 个顶点的无向树 GGGG 中每个顶点的度数都不超过 33
顶点编号为 11NN。边的编号为 11N1N-1,第 ii 条边连接顶点 uiu_i 和顶点 viv_i
每个顶点都有一个固定的权重,顶点 ii 的权重为 WiW_i

你需要向 GG 中添加零条或多条边。添加一条连接顶点 ii 和顶点 jj 的边的代价为 Wi+WjW_i + W_j

请输出满足最小总代价条件的添加边方案中的一种。

  • GG22-顶点连通的。换句话说,对于 GG 中的每个顶点 vv,从 GG 中移除 vv 及其相关的边后,GG 仍然是连通的。

你需要解决 TT 个测试用例。

约束条件

  • 1leqTleq2times1051 \\leq T \\leq 2 \\times 10^5
  • 3leqNleq2times1053 \\leq N \\leq 2 \\times 10^5
  • 1lequi,vileqN1 \\leq u_i, v_i \\leq N
  • 给定的图是一棵树。
  • 给定图中每个顶点的度数都不超过 33
  • 1leqWileq1091 \\leq W_i \\leq 10^9
  • WiW_i 是整数。
  • 所有测试用例中 NN 的总和不超过 2times1052 \\times 10^5

输入

从标准输入读入数据,数据格式如下,这里 mathrmcasei\\mathrm{case}_i 表示第 ii 个测试用例:

TT mathrmcase1\\mathrm{case}_1 mathrmcase2\\mathrm{case}_2 vdots\\vdots mathrmcaseN\\mathrm{case}_N

每个测试用例的格式如下:

NN W1W_1 W2W_2 dots\\dots WNW_N u1u_1 v1v_1 u2u_2 v2v_2 vdots\\vdots uN1u_{N-1} vN1v_{N-1}

输出

对于每个测试用例,按以下格式输出一种解决方案:

  • MM 是添加的边的数量,并且
  • ii 条添加的边连接顶点 aia_i 和顶点 bib_i

如果存在多种解决方案,则可以接受任意一种。

MM a1a_1 b1b_1 a2a_2 b2b_2 vdots\\vdots aMa_M bMb_M

示例输入 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
1 3
2
7 6
1 5

在第一个测试用例中,添加一条连接顶点 11 和顶点 33 的边可以使 GG 满足问题描述中的条件。
这样需额外花费 W1+W3=2+5=7W_1 + W_3 = 2 + 5 = 7。没有比 77 更小代价的添加边方案,所以这是一个有效的解决方案。

在第二个测试用例中,上述解决方案的总代价为 $(W_7 + W_6) + (W_1 + W_5) = 1100000 + 10001 = 1110001$,这是可能的最小代价。