AT_abc218_g.[ABC218G] Game on Tree 2

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一棵包含 NN 个顶点的树,每个顶点编号为 11 到 NN。第 ii 条边(1≤i≤N−11 \leq i \leq N-1)连接顶点 uiu_i 和顶点 viv_i。每个顶点 ii(1≤i≤N1 \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
A1 A2 … ANA_1\ A_2\ \ldots\ A_N
u1 v1u_1\ v_1
u2 v2u_2\ v_2
⋮\vdots
uN−1 vN−1u_{N-1}\ v_{N-1}

输出格式

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

输入输出样例

  • 输入#1

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

    输出#1

    7
  • 输入#2

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

    输出#2

    8
  • 输入#3

    6
    2 2 6 4 6 6
    1 2
    2 3
    4 6
    2 5
    2 6

    输出#3

    2

说明/提示

限制条件

  • 2≤N≤1052 \leq N \leq 10^5
  • 2≤Ai≤1092 \leq A_i \leq 10^9
  • AiA_i 为偶数
  • 1≤ui<vi≤N1 \leq u_i < v_i \leq N
  • 给定的图是一棵树
  • 输入均为整数

样例解释 1

当两人都采取最优策略时,游戏过程如下:

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

棋子访问过的顶点上的数字集合为 {2,10,8,6}\{2,10,8,6\},其中位数为 77,因此输出 77。

样例解释 2

当两人都采取最优策略时,游戏过程如下:

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

棋子访问过的顶点上的数字集合为 {6,10}\{6,10\},其中位数为 88,因此输出 88。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页