#P12485. [集训队互测 2024] PM 大师

    ID: 12312 Type: RemoteJudge 8000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>线段树集训队互测2024

[集训队互测 2024] PM 大师

题目背景

小 C 正在堆尸解隐藏曲的时候,他的好朋友小 A 随手就 Pure Memory 了。

小 C 也想成为像小 A 一样的 PM 大师,所以他需要你解决一个关于 PM(Prefix Mex)的问题。

题目描述

注意,本题对 mex\operatorname{mex} 的定义与一般的定义不同。

对于可重集 SS 定义 mex(S)\operatorname{mex}(S) 表示最小的 正整数 xx 满足 xSx\notin S

对于给定的数组 a1,a2,,ana_1,a_2,\dots,a_n,保证 1ain-1\le a_i\le n,使用以下的方式生成数组 b1,b2,,bnb_1,b_2,\dots,b_n

$$b_i=\begin{cases}a_i&a_i\ne 0\\ \operatorname{mex}(\{b_1,b_2,\dots,b_{i-1}\})&a_i=0\end{cases} $$

现在给定长度为 nn 的数组 a1,a2,,ana_1,a_2,\dots,a_n保证初始时 ai{1,0}a_i\in \{-1,0\} 且数组 aa 不全为 00

给定 qq 次操作,每次操作给定三个整数 x,k,yx,k,y,保证 1x,yn1\le x,y\le nax0a_x\ne 01kn-1\le k\le nk0k\ne 0。表示先将 axa_x 修改为 kk,然后你需要求出使用当前的数组 aa 所生成的数组 bbbyb_y 的值。

注意,任意时刻为 00aia_i 不会被修改,不为 00aia_i 不会被修改为 00

输入格式

第一行两个正整数 n,qn,q

第二行 nn 个整数,描述 a1,a2,,ana_1,a_2,\dots,a_n,保证初始时 ai{1,0}a_i\in \{-1,0\} 且数组 aa 不全为 00

接下来 qq 行,每行 33 个整数 x,k,yx,k,y,描述一次操作。

输出格式

qq 行,第 ii 行输出一个整数表示使用第 ii 次修改操作后的数组 aa 所生成的数组 bbbyb_y 的值。

10 10
0 -1 0 0 -1 0 -1 -1 0 -1
7 5 9
7 5 1
10 8 4
7 10 1
8 -1 3
10 6 4
2 2 1
2 9 6
5 8 4
7 -1 9
6
1
3
1
2
3
1
4
3
5

提示

样例 2: 见下发文件,其满足子任务 11 的限制。

数据范围

对于 100%100\% 的数据,保证 1n,q1061\le n,q\le 10^6ai{1,0}a_i\in \{-1,0\}1x,yn1\le x,y\le nax0a_x\ne 01kn-1\le k\le nk0k\ne 0。保证数组 aa 不全为 00

子任务编号 特殊性质 分值
11 n,q104n,q\le 10^4 1010
22 初始时序列 aa 单调不降
33 k100k\le 100
44 序列 aa00 的数量 100\le 100
55 每次修改前 ax=1a_x=-1 3030
66