#aBC295G. [ABC295G] Minimum Reachable City

[ABC295G] Minimum Reachable City

AT_abc295_g [ABC295G] Minimum Reachable City

题目描述

有一个包含 NN 个顶点的有向图 GSG_S,顶点编号为 11NNGSG_SN1N-1 条边,第 ii 条边(1iN11\leq i\leq N-1)是从顶点 pip_i1pii1\leq p_i\leq i)指向顶点 i+1i+1

有一个包含 NN 个顶点的有向图 GG,顶点编号为 11NN。最初,GGGSG_S 完全相同。现在有 QQ 个关于 GG 的操作,请按给定顺序依次处理。操作有以下两种类型:

  • 1 u v :在 GG 中添加一条从顶点 uu 到顶点 vv 的有向边。保证满足以下条件:
    • uvu\neq v
    • GSG_S 上,从顶点 vv 沿若干条边可以到达顶点 uu
  • 2 x :输出在 GG 上,从顶点 xx 沿若干条边可以到达的所有顶点(包括 xx)中,编号最小的顶点编号。

输入格式

输入通过标准输入给出,格式如下:

NN

p1p_1 p2p_2 \dots pN1p_{N-1}

QQ

query1\mathrm{query}_1

query2\mathrm{query}_2

\vdots

queryQ\mathrm{query}_Q

其中,queryi\mathrm{query}_i 表示第 ii 个操作,格式如下之一:

11 uu vv

22 xx

输出格式

设第 22 类操作的次数为 qq,请输出 qq 行。第 jj 行(1jq1\leq j\leq q)输出第 jj22 类操作的答案。

输入输出样例 #1

输入 #1

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

输出 #1

4
2
1

输入输出样例 #2

输入 #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\leq N\leq 2\times 10^5
  • 1Q2×1051\leq Q\leq 2\times 10^5
  • 1pii1\leq p_i\leq i
  • 对于第 11 类操作:
    • 1u,vN1\leq u,v\leq N
    • uvu\neq v
    • GSG_S 上,从顶点 vv 沿若干条边可以到达顶点 uu
  • 对于第 22 类操作,1xN1\leq x\leq N
  • 所有输入均为整数

样例解释 1

  • 在第 11 个操作时,从顶点 44 出发在 GG 上能够到达的顶点只有 44
  • 在第 33 个操作时,从顶点 44 出发在 GG 上能够到达的顶点为 2,3,4,52,3,4,5
  • 在第 55 个操作时,从顶点 44 出发在 GG 上能够到达的顶点为 1,2,3,4,51,2,3,4,5

由 ChatGPT 4.1 翻译