AT_njpc2017_h 白黒ツリー

题目描述

给出N个顶点的有根的树。在各个顶点编号为1, 2,…N,顶点1是这根树的根。边全部是无向边,第i个( 2≤i≤N)顶点的父母是p[i] 最初,各顶点涂成白色或黑色,第i个顶点(1≤i≤N)初始的颜色为C[i], C[i]=0时白色,C[i]=1的时候是黑色。 因为有Q个查询,所以请按顺序处理。查询有以下两种,输入形式和查询内容如下: 1.输入1 u:把顶点u作为根的部分树包含的全部的顶点的颜色使之反转。 2.输入2 u v:从顶点u到顶点v,如果能交替通过白色顶点和黑色顶点到达YES,不然就输出NO。最初的颜色是白色还是黑色都可以。

输入格式

(输入是标准的以下形式) N p[2] p[3] ... p[n] c[1] c[2] ... c[n] Q 查询[1] 查询[2] ... 查询[Q]

输出格式

对于2 u v格式的查询,回答按给出的顺序每行输出1个。 ## 约定 输入全部是整数 2≤N≤10^5 1≤p[i]≤N C[i]=0或1 1≤Q≤10^5 输入的树一定连接 当查询为1 u时,1≤u≤N 1≤u≤N 当查询为2 u v时,1≤u,v≤N,且u≠v。 确保至少存在一个格式2 u v的查询。

说明/提示

### 制約 - 入力は全て整数である。 - $ 2≦N≦10^5 $ - $ 1≦p_i≦N $ - $ C_i\ =\ 0 $ または $ 1 $ - $ 1≦Q≦10^5 $ - 入力される根付き木は必ず連結である。 - クエリが`1 u`のとき、$ 1≦u≦N $ である。 - クエリが`2 u v`のとき、$ 1≦u,v≦N $ かつ $ u≠v $ である。 - `2 u v`というフォーマットのクエリが少なくとも1つ存在することが保証される。