AT_agc052_f [AGC052F] Tree Vertices XOR

题目描述

有一棵包含 $N$ 个顶点的树,顶点编号为从 $1$ 到 $N$。每条边将两个顶点相连,其中第 $i$ 条边连接顶点 $u_i$ 和 $v_i$。 最开始,所有顶点上都写着数字 $1$。 你可以进行以下操作任意次(也可以一次都不进行): - 从树中选择一个顶点 $v$。将与 $v$ 相邻的所有顶点上的数值做 **XOR** 运算,得到结果 $X$。然后,将顶点 $v$ 上的数值 $a_v$ 替换为 $(a_v\ \mathrm{XOR}\ X)$。 你需要计算通过这些操作可以得到多少种不同的树形态。由于结果可能非常大,请输出它对 $998244353$ 取模的值。 在这里,两个树形态被认为不同,如果存在至少一个顶点 $v$ 使得这两个形态在该顶点上的数字不同。

输入格式

输入依次包括: > $ N $ $ u_1 $ $ v_1 $ $ u_2 $ $ v_2 $ $ \cdots $ $ u_{N-1} $ $ v_{N-1} $

输出格式

输出表示可以达到的不同树形态数量对 $998244353$ 取模的结果。

说明/提示

- $ 3 \le N \le 2 \cdot 10^5 $ - $ 1 \le u_i, v_i \le N $ - $ u_i \neq v_i $ - 输入表示的图是一棵树。 ### 样例解释 1 假设在顶点 $1, 2, 3, 4$ 上分别写着 $a, b, c, d$。可能的不同形态包括 $1111$、$1110$、$1100$、$1000$、$0111$、$0110$、$0100$、$0011$、$0010$、$0001$。 **本翻译由 AI 自动生成**