#P14962. [2026年重庆省队集训]重塑时光

    ID: 14178 传统题 4000ms 1024MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2600数据结构分块莫队块状链表模拟

[2026年重庆省队集训]重塑时光

题目描述

小 Z 掌握了时间之力。

小 Z 有 nn 个物品。小 Z 想将这些物品排成一排,在时刻 ii ,他会将编号为 ii 的物品插入到当前序列中从左往右第 tit_i 个物品之前。

为了体验穿越时空的感觉,小 Z 可能会回到过去的某个时刻,并修改该时刻原本应执行的操作。

小 Z 害怕因修改时间线而引发时间乱流,因此他还可能再次穿越到某个时刻,并查询此时某个物品在序列中的位置。请你帮他模拟这一系列操作,以验证时空是否错乱。

输入格式

输入的第一行包含一个非负整数 cc ,分别表示测试点编号。c=0c = 0 表示该测试点为样例。

第二行包含两个正整数 n,qn, q ,表示物品数量和操作个数。

第三行包含 nn 个正整数 t1,t2,,tnt_1, t_2, \dots, t_n ,其中 tit_i 表示 ii 号物品插入的位置。

接下来 qq 行,每一行为以下两种操作中的一个:

  • 1 p y1ypn1\le y\le p\le n),表示修改时刻 pp 时的操作,即将 tpt_p 修改为 yy
  • 2 p z1zpn1\le z \le p\le n),表示查询时刻 ppzz 号物品的位置。

输出格式

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

样例 1 输入

0
4 9
1 1 2 3
2 4 1
2 4 2
2 4 3
2 4 4
1 3 3
2 4 1
2 4 2
2 4 3
2 4 4

样例 1 输出

4
1
2
3
2
1
4
3

样例 1 解释

初始,物品序列为 [2,3,4,1][2,3,4,1]

在第 55 个操作后,物品序列为 [2,1,4,3][2,1,4,3]

数据范围

1n,q3×105,1tii1\le n,q\le 3\times 10^5, 1 \le t_i\le i

测试点编号 n,qn, q 特殊性质
1,21,2 500\le 500
353\sim 5 104\le 10^4
696\sim 9 105\le 10^5 A
101210\sim 12
131513\sim 15 1.5×105\le 1.5\times 10^5
16,1716,17 2×105\le 2\times 10^5
182018\sim 20 2.5×105\le 2.5\times 10^5
212521\sim 25 3×105\le 3\times 10^5

特殊性质 A:不存在 11 操作。