#P13061. [AGC052F] Tree Vertices XOR
[AGC052F] Tree Vertices XOR
题目描述
有一棵包含 个顶点的树,顶点编号为从 到 。每条边将两个顶点相连,其中第 条边连接顶点 和 。
最开始,所有顶点上都写着数字 。
你可以进行以下操作任意次(也可以一次都不进行):
- 从树中选择一个顶点 。将与 相邻的所有顶点上的数值做 XOR 运算,得到结果 。然后,将顶点 上的数值 替换为 。
你需要计算通过这些操作可以得到多少种不同的树形态。由于结果可能非常大,请输出它对 取模的值。
在这里,两个树形态被认为不同,如果存在至少一个顶点 使得这两个形态在该顶点上的数字不同。
输入格式
输入依次包括:
输出格式
输出表示可以达到的不同树形态数量对 取模的结果。
输入输出样例 #1
输入 #1
4
1 2
2 3
3 4
输出 #1
10
输入输出样例 #2
输入 #2
5
1 2
1 3
1 4
1 5
输出 #2
24
输入输出样例 #3
输入 #3
6
1 3
2 3
3 4
4 5
4 6
输出 #3
40
输入输出样例 #4
输入 #4
9
1 2
2 3
1 4
4 5
1 6
6 7
7 8
8 9
输出 #4
255
说明/提示
- 输入表示的图是一棵树。
样例解释 1
假设在顶点 上分别写着 。可能的不同形态包括 、、、、、、、、、。