#17757. 情报传输
情报传输
暂无测试数据。
从前有一个间谍组织,一共派遣了 $n$ 个人潜伏在 E 国刺探情报。为了防止情报泄露,一个间谍可能只认识其他几个人。
认识的人之间有上下级的关系,并且只有一个头目为 $1$ 号,也就是说他们的关系形成了一棵有根树的结构,每个人既可以向直接上级传递情报,也可以向直接下级传递情报。一个人拿到情报后需要一天的处理时间才能传递这个情报,传递情报的时间忽略不计。
因为各种各样的突发情况,头目可能会变更,或者两个人之间暂时联系不上了。
现在给出 $m$ 个突发事件:可能是头目发生了变更;或者是一个人拿到了情报,但他到头目的传递过程中有两个人之间失去了联系。求他把情报传给所有能接收到的人手里的时间。
注意,第一个人拿到情报的人不需要处理情报,其他人拿到情报后处理完才算接收完情报。更换头目是永久的,会影响后面的查询;失去联系是暂时的,仅影响当前查询,不影响后面的查询。
输入格式
第一行输入一个整数 $n$,表示有 $n$ 个人。
接下来 $n-1$ 行,每行两个整数 $x$ 和 $y$,表示 $x$ 与 $y$ 之间相互认识。
接下来一行,输入一个整数 $m$,表示有 $m$ 个事件。
接下来 $m$ 行,如果是C x
,表示 $x$ 变成了头目。如果是Q x y
,则说明 $x$ 拿到了情报,并且他向上第 $y-1$ 级上级与向上第 $y$ 级上级之间的联系暂时断掉了,如果他没有第 $y$ 级上级,那么这条限制就没有用。他的直接上级是第 $1$ 级上级。你需要计算把情报传递给所有能接收到的人手里的时间。
输出格式
对于每个 $Q$,输出把情报传给所有能接收到的人手里的时间。
数据范围
对于 $20\%$ 的数据:$n,m \le 3000$。
对于另外 $20\%$ 的数据:保证是一条链。
对于另外 $30\%$ 的数据:头目不会变更。
对于 $100\%$ 的数据:$n,m \le 200000$,$y \ge 1$。
样例解释
初始的图如上。
Q 4 1 的时候,2 - 4 之间的联系断了,这样消息从 $4$ 传不出去,时间为 $0$。
Q 4 2 的时候,2 - 3 之间的联系断了,$4$ 只需要把消息传给 $2$ 就好了,需要一天的时间。
Q 4 3 的时候,1 - 3 之间的联系断了,一共需要 $3$ 天的时间。
C 2 把头目换成了 $2$。
Q 1 2 的时候,2 - 3 之间的联系断了,传给所有人一共需要 $2$ 天的时间。
Q 1 3 的时候,没有人失去联系,传给所有人一共需要 $3$ 天的时间。
5
1 3
2 4
3 2
3 5
6
Q 4 1
Q 4 2
Q 4 3
C 2
Q 1 2
Q 1 3
0
1
3
2
3