AT_arc183_d [ARC183D] Keep Perfectly Matched

题目描述

有一棵包含 $N$ 个顶点的树,顶点编号为 $1$ 到 $N$。第 $i$ 条边连接顶点 $A_i$ 和顶点 $B_i$。这里 $N$ 是偶数,并且这棵树存在一个完全匹配。具体来说,对于每个 $i$($1 \leq i \leq N/2$),都有 $A_i = i \times 2 - 1, B_i = i \times 2$。 你需要进行如下操作共 $N/2$ 次: - 每次选择两个叶子(度数恰好为 $1$ 的顶点),并将它们从树中删除。此时,删除后的树也必须仍然存在完全匹配。注意,在本题中,顶点数为 $0$ 的情况也视为一棵树。 对于每次操作,其得分定义为“所选的两个顶点之间的距离(即连接这两个顶点的简单路径上的边数)”。 请给出一种操作顺序,使得总得分最大。可以证明,在本题的约束下,总能完成 $N/2$ 次操作。

输入格式

输入从标准输入读入,格式如下: > $N$ $A_1$ $B_1$ $A_2$ $B_2$ $\vdots$ $A_{N-1}$ $B_{N-1}$

输出格式

请按如下格式输出答案: > $X_1$ $Y_1$ $X_2$ $Y_2$ $\vdots$ $X_{N/2}$ $Y_{N/2}$ 其中,$X_i, Y_i$ 表示第 $i$ 次操作中选择的两个顶点。如果有多种方案,输出任意一种均可。

说明/提示

## 限制条件 - $2 \leq N \leq 250000$ - $N$ 是偶数 - $1 \leq A_i < B_i \leq N$($1 \leq i \leq N-1$) - $A_i = i \times 2 - 1, B_i = i \times 2$($1 \leq i \leq N/2$) - 给定的图是一棵树 - 输入的所有数值均为整数 ## 样例解释 1 输出样例的操作顺序如下: - 第 $1$ 次操作:删除顶点 $4, 1$。剩下的树包含顶点 $2, 3$,仍然存在完全匹配。该操作的得分为 $3$。 - 第 $2$ 次操作:删除顶点 $2, 3$。剩下的树为 $0$ 个顶点,仍然存在完全匹配。该操作的得分为 $1$。 - 总得分为 $3+1=4$。无法使总得分超过 $4$,因此该输出是正确的。 由 ChatGPT 4.1 翻译