#P4271. [USACO18FEB] New Barns P

    ID: 3221 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2018USACO连通块最近公共祖先,LCALink-Cut Tree,LCT

[USACO18FEB] New Barns P

题目描述

给你一棵树,初始没有节点。你需要支持两种操作:

  • B p 表示新建一个节点,将它与 pp 节点连接;若 p=1p=-1,则表示不与其它节点相连

  • Q k 表示查询在 kk 节点所在的连通块中,距它最远的点的距离。这里距离的定义是两点间经过的边数。

输入格式

第一行一个正整数 qq,表示操作个数。
接下来 qq 行,每行表示一个操作。

输出格式

对于每个询问操作,输出一行一个整数表示答案。

7
B -1
Q 1
B 1
B 2
Q 3
B 2
Q 2
0
2
1

提示

【数据范围】

对于 100%100\% 的数据,1q1051 \le q \le 10^5
保证操作合法。

样例输入对应这棵树:

  (1) 
    \   
     (2)---(4)
    /
  (3)

在询问 11 中,我们新建点 11

在询问 22 中,我们查询距点 11 最远的点的距离。因为点 11 不与其它任意点连通,答案为 00

在询问 33 中,我们新建点 22,并将其连接到点 11

在询问 44 中,我们新建点 33,并将其连接到点 22

在询问 55 中,我们查询距点 33 最远的点的距离。在这里,答案是点 11,距其 22 单位。

在询问 66 中,我们新建点 44,并将其连接到点 22

在询问 77 中,我们查询距点 22 最远的点的距离。点 1,3,41, 3, 4 与其距离相等,均为 11

命题人:Anson Hu