SP8425 BTCODE_G - Coloring Trees

题目描述

Nivash 和 Bhoopathi 正在玩一个记忆游戏,具体玩法如下:有一棵包含 $N$ 个节点的树,所有节点一开始都是未着色的。在游戏中,Nivash 可以进行两种操作: 1. 命令:用特定颜色给某个节点着色。 2. 查询:询问 Bhoopathi 从节点 $a$ 到节点 $b$(包括两端节点)的路径是否是单色的,也就是路径上的所有节点颜色是否相同。 Nivash 可以自由选择操作的执行顺序,并且每个节点最多只能被着色一次。当 Nivash 提出查询时,Bhoopathi 需要根据树的着色情况回答“YES”或“NO”。你能帮助 Bhoopathi 做出正确的回答吗?

输入格式

第一行输入一个整数 $N$,代表树中的节点数量。接下来的 $N-1$ 行每行有两个用空格分隔的整数 $u$ 和 $v$,表示节点 $u$ 和节点 $v$ 之间有一条边。然后输入一个整数 $Q$,表示 Nivash 想要发出的命令和查询的总数。接下来的 $Q$ 行每行有三个用空格分隔的整数 $x$、$a$ 和 $b$。如果 $x$ 是 1,表示将节点 $a$ 用颜色 $b$ 着色。如果 $x$ 是 2,表示进行查询,Bhoopathi 需要判断从节点 $a$ 到节点 $b$ 的路径是否是单色的。 树中的所有节点编号从 0 开始。

输出格式

对于每个查询,输出“YES”或“NO”,表示从节点 $a$ 到节点 $b$(包括这两个节点)的路径是否是单色的。 注意:如果从节点 $a$ 到节点 $b$ 的路径上所有节点都是未着色的,也要输出“NO”。 ## 数据范围 - $1 \leq N \leq 100000$ - $1 \leq Q \leq 200000$ - $1 \leq \text{颜色值} \leq 30$ **本翻译由 AI 自动生成**

说明/提示

Constraints: 1$\leq$N$\leq$100000 1$\leq$Q$\leq$200000 1$\leq$color value$\leq$30.