#G6008. [GESP202406 六级] 二叉树

[GESP202406 六级] 二叉树

题目描述

小杨有一棵包含 ( n ) 个节点的二叉树,根节点编号为 1。每个节点初始为白色(0)或黑色(1)。进行 ( q ) 次操作,每次选择一个节点,将以该节点为根的子树内所有节点的颜色反转。求所有操作完成后每个节点的颜色。

输入格式

第一行:一个正整数 ( n ),表示二叉树的节点数量。
第二行:( n-1 ) 个正整数,第 ( i ) 个数表示编号为 ( i+1 ) 的节点的父节点编号。
第三行:一个长度为 ( n ) 的 01 串,表示初始颜色(0为白,1为黑)。
第四行:一个正整数 ( q ),表示操作次数。
接下来 ( q ) 行:每行一个正整数 ( ai ),表示操作的节点编号。

输出格式

输出一个长度为 ( n ) 的 01 串,表示最终颜色。

样例 1

输入:

6  
3 1 1 3 4  
100101  
3  
1  
3  
2  

输出:

010000  

样例 2

输入:

5
1 1 2 2
01100
3
2
1
2 

输出:

10011  

样例 3

输入:

3
1 1
010
2
1
2

输出:

111

样例 4

输入:

7
1 1 2 2 3 3
0000000
4
2
3
1
2

输出:

1101100

数据范围
( 1 ≤ n, q ≤ 10510^5 )