#P4092. [HEOI2016/TJOI2016] 树

    ID: 3027 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>搜索2016线段树并查集各省省选河北树链剖分,树剖天津

[HEOI2016/TJOI2016] 树

Description

在 2016 年,佳媛姐姐刚刚学习了树,非常开心。现在她想解决这样一个问题:给定一颗有根树,根为 11,有以下两种操作:

  1. 标记操作:对某个结点打上标记。(在最开始,只有结点 11 有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。)

  2. 询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)。

你能帮帮她吗?

Input Format

第一行两个正整数 NNQQ 分别表示节点个数和操作次数。

接下来 N1N-1 行,每行两个正整数 u,vu,v1u,vn1 \leqslant u,v \leqslant n)表示 uuvv 有一条有向边。

接下来 QQ 行,形如 oper numoperC 时表示这是一个标记操作,operQ 时表示这是一个询问操作。

Output Format

对于每个询问操作,输出一行,一个正整数,表示结果。

5 5 
1 2 
1 3 
2 4 
2 5 
Q 2 
C 2 
Q 2 
Q 5 
Q 3
1
2
2
1

Hint

  • 30%30\% 的数据,1N,Q10001 \leqslant N, Q \leqslant 1000

  • 70%70\% 的数据,1N,Q100001 \leqslant N, Q \leqslant 10000

  • 100%100\% 的数据,1N,Q1000001 \leqslant N, Q \leqslant 100000