编程题
### 题目大意 给出一棵以 $1$ 为根结点含有的 $𝑛$ 个结点的有根树。 每个结点都是蓄水池,可以是空的,也可以是满的,我们用权值来表示,$1$ 表示这个结点装满了水,$0$ 表示这个结点没有任何水,所有结点一开始都是空的。 一共进行 $𝑚$ 次操作。每次操作有 $3$ 种: + 操作 $1$,将点 $𝑢$ 和其子树上的所有结点灌满水。 + 操作 $2$,倒空点 $𝑢$ 到 $1$ 的路径上的所有结点的水。 + 操作 $3$,询问点 $𝑢$ 的蓄水状况。 ### 输入格式 第一行输入包含一个整数 $n$,表示树的结点的数量。 接下来 $n - 1$ 行包含两个用空格分开的数字 $a_i,b_i$,表示树的边。 下一行包含一个整数 $q$ ,表示操作的数量。 接下来 $q$ 行包括两个用空格分隔的整数 $c_i,v_i$,$c_i$ 表示操作的类型,$v_i$ 表示操作的结点编号。 ### 输出格式 对于每个操作 $3$,如果结点已蓄满水,则在单独的行上打印 $1$ ,如果结点为空,则打印 $0$。按输入中给出查询的顺序打印查询的答案。 ### 样例输入 ```txt 5 1 2 5 1 2 3 4 2 12 1 1 2 3 3 1 3 2 3 3 3 4 1 2 2 4 3 1 3 3 3 4 3 5 ``` ### 样例输出 ```txt 0 0 0 1 0 1 0 1 ``` ### 评测数据规模 对于 $100$% 的评测数据,$1\leq n ,q\leq 500000,1 \leq a_i,b_i,v_i\leq n,a_i \neq b_i,1\leq c_i \leq3$。
查看答案
赣ICP备20007335号-2