#GESP1024. [GESP202406 六级T2] 二叉树

[GESP202406 六级T2] 二叉树

题目描述

给定一棵以 11 为根、包含 nn 个节点的二叉树。每个节点初始为白色或黑色。随后进行 qq 次操作,每次选择一个节点,将以该节点为根的子树内所有节点颜色反转。请输出所有操作完成后的节点颜色。

输入格式

第一行输入正整数 nn。第二行输入 n1n-1 个正整数,第 ii 个数表示节点 i+1i+1 的父亲。第三行输入长度为 nn01 串,0 表示白色,1 表示黑色。第四行输入正整数 qq。接下来 qq 行,每行输入一个被操作节点编号。

输出格式

输出一行长度为 nn01 串,表示最终每个节点的颜色。

6
3 1 1 3 4
100101
3
1
3
2
010000

数据范围与提示

  • 1n,q1051 \le n,q \le 10^5
  • 输入保证给出的父子关系构成一棵二叉树。
  • 对子树反转奇数次等价于翻转颜色,偶数次等价于不变。

来源

GESP 2024 年 06 月 C++ 六级 T2