#406. 苹果树
苹果树
说明
徐老师的庄园里有一棵苹果树,树上有 N 个节点被 N - 1 个树枝相连,徐老师分别将它们标号为 1 到 N ,其中根为 1 号节点,每个节点开始的时候都有苹果,不过树上的苹果也是在变化的,有时某个节点会长出一个苹果,有时某个节点的苹果会被摘掉,徐老师想知道某时刻某节点及其子树上一共有多少苹果,请你帮帮他。
输入格式
输入第一行两个整数 N, M ,表示一共有 N 个节点, M 次操作(节点状态更改或询问)( 1 <= N,M <= 10^6 )。
接下来 N - 1 行,每行两个数 u,v ,表示在这棵树上 u 是 v 的父节点。( 1 <= u,v <= N )
接下来 M 行,每行一个字符 x 和一个数 y ,如果 x 为`'Q'`,表示这一次是询问,询问节点 y 及其子树上一共有多少苹果,如果 x 为 `'C'` 表示节点 y 的状态需要更新(有苹果变为没有,没有苹果变为有)。
提示:由于数据量过大,建议大家使用`scanf`和`printf`接收和输出数据。
输出格式
对于每次询问输出一行,为查询的结果。
样例
3 2
1 2
1 3
C 2
Q 1
2