#P5537. 系统设计

系统设计

系统设计

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

题目描述

小 X 需要你设计一个系统。

这个系统首先需要输入一棵 nn 个点的有根树和一个长度为 mm 的序列 aa,接下来需要实现 qq 个操作。

操作分为两种:

  1. 1 x l r:将起点设为有根树的节点 xx,接下来依次遍历 lrl\sim r。遍历到 ii 时,从当前节点走向其编号第 aia_i 小的儿子。如果当前节点的儿子个数小于 aia_i,或者已经遍历完 lrl\sim r,就在当前节点停下,输出该节点的编号,并停止本次遍历。
  2. 2 t k:将序列中第 tt 个数 ata_t 修改为 kk

输入格式

第一行包含三个正整数 n,m,qn,m,q,分别表示树的点数、序列的长度和操作个数。

第二行包含 nn 个整数 f1,f2,,fnf_1,f_2,\ldots,f_n,其中 fif_i 表示节点 ii 的父亲编号。特别地,设根节点为 rtrt,则 frt=0f_{rt}=0

第三行包含 mm 个正整数 a1,a2,,ama_1,a_2,\ldots,a_m,表示序列 aa

接下来 qq 行,每行描述一个操作。

输出格式

对于每个操作 11,输出一行一个正整数,表示本次遍历最终停留的节点编号。

样例输入 1

6 6 10
0 1 2 2 1 5
1 2 2 1 2 1
1 1 1 3
1 5 2 6
1 6 5 6
1 2 3 5
1 2 4 4
2 2 1
1 1 1 6
1 1 2 4
2 1 2
1 1 1 5

样例输出 1

4
5
6
4
3
3
4
6

数据范围

  • 1n,m,q5×1051\le n,m,q\le 5\times 10^5
  • 1ain1\le a_i\le n
  • 对于操作 11,保证 1xn1\le x\le n1lrm1\le l\le r\le m
  • 对于操作 22,保证 1tm1\le t\le m1kn1\le k\le n
子任务编号 分值 特殊限制
1 20 n,m,q2000n,m,q\le 2000
2 40 所有操作均为操作 11
3 无特殊限制

提示

样例中的第一次操作为 1 1 1 3,遍历路径为 1241\rightarrow 2\rightarrow 4,因此答案为 44

第九个操作后,序列变为 2 1 2 1 2 1。第十个操作为 1 1 1 5,遍历路径为 1561\rightarrow 5\rightarrow 6,因此答案为 66