#4694. Minimum Reachable City

0

Minimum Reachable City

Minimum Reachable City

题目描述

我们有一个有向图 GSG_S,有 NN 个顶点,编号为 11 到 NN。 它有 N−1N-1 条边。第 ii 条边 (1≤i≤N−1)(1\leq i \leq N-1) 从顶点 pi (1≤pi≤i)p_i\ (1\leq p_i \leq i) 指向顶点 i+1i+1。 我们有另一个有向图 GG,有 NN 个顶点,编号为 11 到 NN。 最初,GG 等于 GSG_S。 按给定顺序对 GG 处理 QQ 个查询。查询有两种类型如下。

1uv1 u v :向 GG 中添加一条从顶点 uu 到顶点 vv 的边。 保证满足以下条件。 u≠vu \neq v。 在 GSG_S 上,顶点 uu 可通过若干条边从顶点 vv 到达。

2x2 x :输出在 GG 上从顶点 xx 出发通过若干条边可到达的顶点中最小的顶点编号(包括顶点 xx)。

输入格式

输入按照标准输入以如下格式给出: NN p1p_1 p2p_2 …\dots pN−1p_{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

输出格式

输出 qq 行,其中 qq 是第二种格式查询的数量。 第 ii 行 (1≤j≤q)(1\leq j \leq q) 应包含第 jj 个第二种格式查询的答案。

5
1 2 3 3
5
2 4
1 4 2
2 4
1 5 1
2 4
4
2
1
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
5
2
1
1
1

提示

2≤N≤2×1052\leq N \leq 2\times 10^5 1≤Q≤2×1051\leq Q \leq 2\times 10^5 1≤pi≤i1\leq p_i\leq i 对于每个第一种格式的查询: 1≤u,v≤N1\leq u,v \leq N。 u≠vu \neq v。 在 GSG_S 上,顶点 uu 可通过若干条边从顶点 vv 到达。

对于每个第二种格式的查询,1≤x≤N1\leq x \leq N。 输入中的所有数值都是整数。在第一次查询时,只有顶点 44 可通过若干条边在 GG 上从顶点 44 到达。 在第三次查询时,顶点 22、33、44 和 55 可通过若干条边在 GG 上从顶点 44 到达。 在第五次查询时,顶点 11、22、33、44 和 55 可通过若干条边在 GG 上从顶点 44 到达。

标签: AtCoder|abc295G

来源

AtCoder|abc295G