CF1709E.XOR Tree
提高+/省选-
通过率:0%
时间限制:3.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a tree consisting of n vertices. A number is written on each vertex; the number on vertex i is equal to ai.
Recall that a simple path is a path that visits each vertex at most once. Let the weight of the path be the bitwise XOR of the values written on vertices it consists of. Let's say that a tree is good if no simple path has weight 0.
You can apply the following operation any number of times (possibly, zero): select a vertex of the tree and replace the value written on it with an arbitrary positive integer. What is the minimum number of times you have to apply this operation in order to make the tree good?
给你一棵包含 n 个顶点的树。每个顶点上写有一个数字;顶点 i 上的数字为 ai。
回顾一下,简单路径是指至多访问每个顶点一次的路径。定义该路径的权重为路径所经过的所有顶点上所写数值的按位异或(XOR)结果。若树中不存在权重为 0 的简单路径,则称该树是“好的”。
你可以执行以下操作任意多次(也可以不执行):选择树中的一个顶点,并将其上的数值替换为任意一个正整数。问:为使该树变为“好的”,最少需要执行多少次该操作?
输入格式
The first line contains one integer n (1≤n≤2⋅105) — the number of vertices.
The second line contains n integers a1, a2, ..., an (1≤ai<230) — the numbers written on vertices.
Then n−1 lines follow, each containing two integers x and y (1≤x,y≤n;x=y) denoting an edge connecting vertex x with vertex y. It is guaranteed that these edges form a tree.
第一行包含一个整数 n(1≤n≤2⋅105)—— 顶点的数量。
第二行包含 n 个整数 a1, a2, ..., an(1≤ai<230)—— 写在各顶点上的数字。
随后是 n−1 行,每行包含两个整数 x 和 y(1≤x,y≤n;x=y),表示一条连接顶点 x 与顶点 y 的边。保证这些边构成一棵树。
输出格式
Print a single integer — the minimum number of times you have to apply the operation in order to make the tree good.
输出一个整数——使树变为“好树”所需执行该操作的最少次数。
输入输出样例
输入#1
6 3 2 1 3 2 1 4 5 3 4 1 4 2 1 6 1
输出#1
2
输入#2
4 2 1 1 1 1 2 1 3 1 4
输出#2
0
输入#3
5 2 2 2 2 2 1 2 2 3 3 4 4 5
输出#3
2
说明/提示
In the first example, it is enough to replace the value on the vertex 1 with 13, and the value on the vertex 4 with 42.
在第一个例子中,只需将顶点 1 上的值替换为 13,并将顶点 4 上的值替换为 42。
输入解题思路,AI测评打分。不知道怎么写?