AT_ttpc2022_d.XOR Tree Path

通过率:0%

AC君温馨提醒

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

题目描述

有一棵以顶点 11 为根、共 NN 个顶点的有根树,顶点编号为 1,2,…,N1, 2, \dots, N。对于第 ii 条边(1≤i≤N−11 \leq i \leq N-1),它连接着顶点 UiU_i 和顶点 ViV_i。

树上的每个顶点都被涂成了白色或黑色。对于顶点 ii(1≤i≤N1 \leq i \leq N),若 Ai=0A_i=0,则该顶点为白色;若 Ai=1A_i=1,则该顶点为黑色。

现在,「黑木」希望让树上被涂成黑色的顶点数量最大。为此,他可以进行任意次数(包括零次)如下操作:

  • 任选一个叶子结点xx,将从根到 xx 的路径上(包括两端)的所有顶点的颜色反转(即白色变成黑色,黑色变成白色)。

请问,通过若干次上述操作,最多能使多少个顶点变为黑色?

输入格式

输入通过标准输入给出,格式如下:

NN   A1A_1   A2A_2   ⋯\cdots   ANA_N   U1U_1   V1V_1   U2U_2   V2V_2   ⋮\vdots   UN−1U_{N-1}   VN−1V_{N-1}

输出格式

输出能够通过若干次题目给定的操作后,顶点中被涂成黑色的最大数量。

输入输出样例

  • 输入#1

    5
    1 0 0 1 0
    1 2
    1 3
    3 4
    3 5

    输出#1

    5
  • 输入#2

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

    输出#2

    5
  • 输入#3

    9
    1 0 1 0 1 0 1 0 1
    2 9
    1 2
    6 9
    3 8
    4 5
    5 9
    2 8
    7 8

    输出#3

    6

说明/提示

样例解释 1

如样例所示,可以通过如下操作将所有顶点都涂黑:

  1. 选择顶点 22,此时顶点 11 变为白色,顶点 22 变为黑色。
  2. 选择顶点 55,此时顶点 11 变为黑色,顶点 33 变为黑色,顶点 55 变为黑色。

数据范围

  • 所有输入均为整数
  • 2≤N≤1052 \leq N \leq 10^5
  • 0≤Ai≤10 \leq A_i \leq 1(1≤i≤N1 \leq i \leq N)
  • 1≤Ui,Vi≤N1 \leq U_i, V_i \leq N(1≤i≤N−11 \leq i \leq N-1)
  • 所给图保证是一棵树

由 ChatGPT 5 翻译

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

首页