AT_abc218_g [ABC218G] Game on Tree 2

题目描述

有一棵包含 $N$ 个顶点的树,每个顶点编号为 $1$ 到 $N$。第 $i$ 条边($1 \leq i \leq N-1$)连接顶点 $u_i$ 和顶点 $v_i$。每个顶点 $i$($1 \leq i \leq N$)上写有一个偶数 $A_i$。 太郎君和次郎君用这棵树和一个棋子进行游戏。 一开始,棋子放在顶点 $1$。两人轮流行动,太郎君先手。每次行动时,可以将棋子从当前顶点移动到与之直接相连的另一个顶点,但不能移动到已经访问过的顶点。当无法再移动棋子时,游戏结束。 太郎君希望最大化游戏结束时棋子访问过的所有顶点(包括顶点 $1$)上数字的(多重)集合的中位数,次郎君则希望最小化该中位数。请你求出当两人都采取最优策略时,棋子访问过的顶点上数字集合的中位数。 中位数的定义如下:设集合大小为 $K$, - 当 $K$ 为奇数时,中位数为从小到大第 $\frac{K+1}{2}$ 个数; - 当 $K$ 为偶数时,中位数为从小到大第 $\frac{K}{2}$ 个数与第 $\frac{K}{2}+1$ 个数的平均值。 例如,$\{2,2,4\}$ 的中位数为 $2$,$\{2,4,6,6\}$ 的中位数为 $5$。

输入格式

输入以如下格式从标准输入读入: > $N$ > $A_1\ A_2\ \ldots\ A_N$ > $u_1\ v_1$ > $u_2\ v_2$ > $\vdots$ > $u_{N-1}\ v_{N-1}$

输出格式

请输出当两人都采取最优策略时,棋子访问过的顶点上数字集合的中位数。

说明/提示

### 限制条件 - $2 \leq N \leq 10^5$ - $2 \leq A_i \leq 10^9$ - $A_i$ 为偶数 - $1 \leq u_i < v_i \leq N$ - 给定的图是一棵树 - 输入均为整数 ### 样例解释 1 当两人都采取最优策略时,游戏过程如下: - 太郎君将棋子从顶点 $1$ 移动到顶点 $5$ - 次郎君将棋子从顶点 $5$ 移动到顶点 $4$ - 太郎君将棋子从顶点 $4$ 移动到顶点 $3$ - 次郎君无法再移动棋子,游戏结束 棋子访问过的顶点上的数字集合为 $\{2,10,8,6\}$,其中位数为 $7$,因此输出 $7$。 ### 样例解释 2 当两人都采取最优策略时,游戏过程如下: - 太郎君将棋子从顶点 $1$ 移动到顶点 $4$ - 次郎君无法再移动棋子,游戏结束 棋子访问过的顶点上的数字集合为 $\{6,10\}$,其中位数为 $8$,因此输出 $8$。 由 ChatGPT 4.1 翻译