#3481. Game on Tree 2

0

Game on Tree 2

Game on Tree 2

题目描述

我们有一棵有 NN 个顶点的树,顶点编号为 11 到 NN。第 ii 条边 (1≤i≤N−1)(1 \leq i \leq N-1) 连接顶点 uiu_i 和顶点 viv_i,并且顶点 ii (1≤i≤N)(1 \leq i \leq N) 上写有一个偶数 AiA_i。太郎和次郎将使用这棵树和一个棋子进行游戏。 最初,棋子位于顶点 11。由太郎先手,双方交替将棋子移动到与棋子所在顶点直接相连的顶点上。但棋子不得重访已经访问过的顶点。当棋子无法移动时游戏结束。 太郎想要最大化在游戏结束前(包括顶点 11)被棋子访问的顶点上所写数字的(多重)集合的中位数,而次郎想要最小化该值。求在双方都最优操作时该集合的中位数。

什么是中位数?

一个包含 KK 个数的(多重)集合的中位数定义如下:

当 KK 为奇数时,为第 K+12\frac{K+1}{2} 小的数; 当 KK 为偶数时,为第 K2\frac{K}{2} 小和第 (K2+1)(\frac{K}{2}+1) 小两数的平均值。 例如,集合 {2,2,4}\{ 2,2,4 \} 的中位数是 22,集合 {2,4,6,6}\{ 2,4,6,6\} 的中位数是 55。

输入格式

输入以如下格式从标准输入给出: NN A1A_1 A2A_2 …\ldots ANA_N u1u_1 v1v_1 u2u_2 v2v_2 ⋮\vdots uN−1u_{N-1} vN−1v_{N-1}

输出格式

当双方都最优操作时,输出棋子访问的顶点上所写数字的(多重)集合的中位数。

5
2 4 6 8 10
4 5
3 4
1 5
2 4
7
5
6 4 6 10 8
1 4
1 2
1 5
1 3
8
6
2 2 6 4 6 6
1 2
2 3
4 6
2 5
2 6
2

提示

2≤N≤1052 \leq N \leq 10^5 2≤Ai≤1092 \leq A_i \leq 10^9 AiA_i 是偶数。 1 \leq u_i < v_i \leq N 给定的图是一棵树。 输入中所有值均为整数。当双方都最优操作时,游戏过程如下。

太郎将棋子从顶点 11 移动到顶点 55。 次郎将棋子从顶点 55 移动到顶点 44。 太郎将棋子从顶点 44 移动到顶点 33。 次郎无法移动棋子,游戏结束。

此时,棋子访问的顶点上写的数字的集合是 {2,10,8,6}\{2,10,8,6\}。该集合的中位数是 77,应当输出该值。
当双方都最优操作时,游戏过程如下。

太郎将棋子从顶点 11 移动到顶点 44。 次郎无法移动棋子,游戏结束。

此时,棋子访问的顶点上写的数字的集合是 {6,10}\{6,10\}。该集合的中位数是 88,应当输出该值。

标签: AtCoder|abc218G

来源

AtCoder|abc218G