310378: CF1824C. LuoTianyi and XOR-Tree
Description
LuoTianyi gives you a tree with values in its vertices, and the root of the tree is vertex $1$.
In one operation, you can change the value in one vertex to any non-negative integer.
Now you need to find the minimum number of operations you need to perform to make each path from the root to leaf$^{\dagger}$ has a bitwise XOR value of zero.
$^{\dagger}$A leaf in a rooted tree is a vertex that has exactly one neighbor and is not a root.
InputThe first line contains a single integer $n$ ($2 \le n \le 10^5$) — the number of vertices in the tree.
The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le 10^9$), the $i$-th number represents the value in the $i$-th vertex.
Next $n−1$ lines describe the edges of the tree. The $i$-th line contains two integers $u_i$ and $v_i$ ($1 \le u_i,v_i \le n, u_i \neq v_i$) — the vertices connected by an edge of the tree. It's guaranteed that the given edges form a tree.
OutputPrint a single integer — the minimum number of operations.
ExamplesInput6 3 5 7 5 8 4 1 2 1 3 1 4 3 5 4 6Output
3Input
8 7 10 7 16 19 9 16 11 1 5 4 2 6 5 5 2 7 2 2 3 3 8Output
3Input
4 1 2 1 2 1 2 2 3 4 3Output
0Input
9 4 3 6 1 5 5 5 2 7 1 2 2 3 4 1 4 5 4 6 4 7 8 1 8 9Output
2Note
The tree in the first example:
If we change the value in the vertex $2$ to $3$, the value in the vertex $5$ to $4$, and the value in the vertex $6$ to $6$, then the tree will be ok.
The bitwise XOR from the root to the leaf $2$ will be $3 \oplus 3=0$.
The bitwise XOR from the root to the leaf $5$ will be $4 \oplus 7 \oplus 3=0$.
The bitwise XOR from the root to the leaf $6$ will be $6 \oplus 5 \oplus 3=0$.
The tree in the second example:
If we change the value in the vertex $2$ to $4$, the value in the vertex $3$ to $27$, and the value in the vertex $6$ to $20$, then the tree will be ok.
The bitwise XOR from the root to the leaf $6$ will be $20 \oplus 19 \oplus 7=0$.
The bitwise XOR from the root to the leaf $8$ will be $11 \oplus 27 \oplus 4 \oplus 19 \oplus 7=0$.
The bitwise XOR from the root to the leaf $4$ will be $16 \oplus 4 \oplus 19 \oplus 7=0$.
The bitwise XOR from the root to the leaf $7$ will be $16 \oplus 4 \oplus 19 \oplus 7=0$.
In the third example, the only leaf is the vertex $4$ and the bitwise XOR on the path to it is $1 \oplus 2 \oplus 1 \oplus 2 = 0$, so we don't need to change values.
In the fourth example, we can change the value in the vertex $1$ to $5$, and the value in the vertex $4$ to $0$.
Here $\oplus$ denotes the bitwise XOR operation.
Input
题意翻译
给定一棵 $n$ 个节点的树,根节点为 $1$ ,每个点有一个点权 $a_i$ ,每次操作可以选择一个点任意修改点权,求最少的操作次数,使得每一条根结点到叶子结点的路径上的异或和都为 $0$ 。Output
在一次操作中,你可以将一个顶点的值更改为任何非负整数。
现在你需要找到需要进行的最小操作次数,使得从根到叶子的每条路径都具有位异或值为零。
输入数据格式:
- 第一行包含一个整数n(2≤n≤10^5)——树中顶点的数量。
- 第二行包含n个整数a_1, a_2, …, a_n(1≤a_i≤10^9),第i个数表示第i个顶点的值。
- 接下来的n-1行描述树的边。第i行包含两个整数u_i和v_i(1≤u_i,v_i≤n, u_i≠v_i)——通过树的一条边连接的顶点。保证给定的边构成一棵树。
输出数据格式:
- 打印一个整数——需要执行的最小操作数。
示例:
输入:
```
6
3 5 7 5 8 4
1 2
1 3
1 4
3 5
4 6
```
输出:
```
3
```
注意:
- 在第一个示例中,如果我们把顶点2的值改为3,顶点5的值改为4,顶点6的值改为6,那么树就是好的。
- 在第二个示例中,如果我们把顶点2的值改为4,顶点3的值改为27,顶点6的值改为20,那么树就是好的。
- 在第三个示例中,唯一的叶子是顶点4,并且到它的路径上的位异或为0,所以我们不需要改变值。
- 在第四个示例中,我们可以把顶点1的值改为5,顶点4的值改为0。洛天依给你一个在顶点上带有值的树,树的根是顶点1。 在一次操作中,你可以将一个顶点的值更改为任何非负整数。 现在你需要找到需要进行的最小操作次数,使得从根到叶子的每条路径都具有位异或值为零。 输入数据格式: - 第一行包含一个整数n(2≤n≤10^5)——树中顶点的数量。 - 第二行包含n个整数a_1, a_2, …, a_n(1≤a_i≤10^9),第i个数表示第i个顶点的值。 - 接下来的n-1行描述树的边。第i行包含两个整数u_i和v_i(1≤u_i,v_i≤n, u_i≠v_i)——通过树的一条边连接的顶点。保证给定的边构成一棵树。 输出数据格式: - 打印一个整数——需要执行的最小操作数。 示例: 输入: ``` 6 3 5 7 5 8 4 1 2 1 3 1 4 3 5 4 6 ``` 输出: ``` 3 ``` 注意: - 在第一个示例中,如果我们把顶点2的值改为3,顶点5的值改为4,顶点6的值改为6,那么树就是好的。 - 在第二个示例中,如果我们把顶点2的值改为4,顶点3的值改为27,顶点6的值改为20,那么树就是好的。 - 在第三个示例中,唯一的叶子是顶点4,并且到它的路径上的位异或为0,所以我们不需要改变值。 - 在第四个示例中,我们可以把顶点1的值改为5,顶点4的值改为0。