100 #CF1709E. D33_1*【树上启发式合并】树上任何路径异或和不为零 XOR Tree
D33_1*【树上启发式合并】树上任何路径异或和不为零 XOR Tree
CF1709E XOR Tree
题目描述
给定一棵包含 个顶点的树。每个顶点上写有一个数字,第 个顶点上的数字为 。
我们称一条简单路径为每个顶点最多访问一次的路径。路径的权值定义为该路径上所有顶点的值的按位异或。我们称一棵树是“好”的,如果不存在权值为 的简单路径。
你可以进行如下操作任意次(也可以不进行):选择树上的一个顶点,将其上的值替换为任意正整数。请问,最少需要进行多少次操作,才能使这棵树变为“好”的?
输入格式
第一行包含一个整数 (),表示顶点数。
第二行包含 个整数 (),表示每个顶点上的数字。
接下来 行,每行包含两个整数 和 (),表示一条连接顶点 和顶点 的边。保证这些边构成一棵树。
输出格式
输出一个整数,表示最少需要进行多少次操作,才能使这棵树变为“好”的。
输入输出样例 #1
输入 #1
6
3 2 1 3 2 1
4 5
3 4
1 4
2 1
6 1
输出 #1
2
输入输出样例 #2
输入 #2
4
2 1 1 1
1 2
1 3
1 4
输出 #2
0
输入输出样例 #3
输入 #3
5
2 2 2 2 2
1 2
2 3
3 4
4 5
输出 #3
2
说明/提示
在第一个样例中,只需将顶点 上的值替换为 ,将顶点 上的值替换为 即可。
由 ChatGPT 4.1 翻译