[关闭]
@ruanxingzhi 2017-10-22T23:40:05.000000Z 字数 454 阅读 2229

树上倍增

题目描述

现有一棵树。您需要写一个树上倍增算法,以实现如下操作:

最初树上只有一个节点,编号为1
多个节点的LCA定义为:这些节点的公共祖先中深度最大的。

输入格式

第一行,一个正整数,表示操作个数。
接下来行,每行输入一个操作,格式如题目描述所述。

保证任何输入的数都是正整数

输出格式

对于每一个Q操作,输出一行一个正整数,表示所询问节点的LCA。

样例数据

样例输入

  1. 7
  2. A 1
  3. A 2
  4. A 3
  5. A 1
  6. A 5
  7. A 5
  8. Q 2 3 6
  9. Q 2 6 7
  10. Q 2 4 2
  11. Q 3 7 6 5

样例输出

  1. 1
  2. 5
  3. 2
  4. 5

解释

3,6的LCA是1
6,7的LCA是5
4,2的LCA是2
7,6,5的LCA是5

数据规模与约定

对于的数据,有

对于的数据,有

对于的数据,有

保证询问不超过次。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注