#ABC295G. Minimum Reachable City

Minimum Reachable City

Minimum Reachable City

  • 时间限制:3 秒
  • 内存限制:512 MiB

题目描述

有一张 NN 个顶点的有向图 GSG_S,顶点编号为 11NN。图中有 N1N-1 条边:第 ii 条边(1iN11\le i\le N-1)从顶点 pip_i 指向顶点 i+1i+1,其中 1pii1\le p_i\le i。因此 GSG_S 是一棵以 11 为根、边从父亲指向儿子的有根树。

另有一张初始与 GSG_S 相同的有向图 GG。请依次处理 QQ 个操作:

  • 1 u v:向 GG 加入一条从 uu 指向 vv 的边。保证 uvu\ne v,且在原图 GSG_S 中可以从 vv 沿若干条边到达 uu
  • 2 x:输出在当前图 GG 中从 xx 沿若干条边能够到达的所有顶点(包括 xx 本身)中,编号最小的顶点编号。

输入格式

第一行一个整数 NN

第二行 N1N-1 个整数 p1,p2,,pN1p_1,p_2,\ldots,p_{N-1}

第三行一个整数 QQ

接下来 QQ 行,每行是上述两种操作之一。

输出格式

对每个 2 x 操作输出一行答案。

样例输入 1

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

样例输出 1

4
2
1

样例输入 2

7
1 1 2 2 3 3
10
2 5
1 5 2
2 5
1 2 1
1 7 1
1 6 3
2 5
2 6
2 1
1 7 1

样例输出 2

5
2
1
1
1

数据范围

对于所有数据:

  • 2N2×1052\le N\le 2\times10^5
  • 1Q2×1051\le Q\le 2\times10^5
  • 1pii1\le p_i\le i
  • 对操作 1 u v1u,vN1\le u,v\le Nuvu\ne v,且 vvuu 在原树 GSG_S 上的祖先;
  • 对操作 2 x1xN1\le x\le N
  • 所有输入均为整数。
子任务编号 分值 特殊限制
1 20 N,Q2000N,Q\le 2000
2 40 对所有 1i<N1\le i<N,均有 pi=ip_i=i
3 无特殊限制

说明

样例 1 的第一次询问中,从 44 只能到达 44;加入 424\to2 后,从 44 可到达 2,3,4,52,3,4,5;再加入 515\to1 后,从 44 可到达全部顶点。