AT_abc342_g [ABC342G] Retroactive Range Chmax
题目描述
给定一个长度为 $N$ 的整数序列 $A=(A_1,A_2,\ldots,A_N)$。
请依次处理 $Q$ 个操作。操作有以下三种类型之一:
- 类型 $1$ 的操作由整数三元组 $(l,r,x)$ 表示,对 $i=l,l+1,\ldots,r$,将 $A_i$ 替换为 $\max\{A_i,x\}$。
- 类型 $2$ 的操作由整数 $i$ 表示,撤销第 $i$ 次操作(保证第 $i$ 次操作是类型 $1$,且此前未被撤销)。此时数列 $A$ 应为从初始状态出发,依次执行所有**未被撤销**的类型 $1$ 操作后的结果。
- 类型 $3$ 的操作由整数 $i$ 表示,输出当前 $A_i$ 的值。
输入格式
输入按以下格式从标准输入读入。
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$ $Q$ $\operatorname{query}_1$ $\operatorname{query}_2$ $\vdots$ $\operatorname{query}_Q$
其中,$\operatorname{query}_k\ (1\leq k\leq Q)$ 表示第 $k$ 次操作,具体格式如下:
对于类型 $1$ 的操作:
> $1$ $l$ $r$ $x$
表示第 $k$ 次操作为 $(l,r,x)$ 的类型 $1$ 操作。
对于类型 $2$ 的操作:
> $2$ $i$
表示第 $k$ 次操作为 $i$ 的类型 $2$ 操作。
对于类型 $3$ 的操作:
> $3$ $i$
表示第 $k$ 次操作为 $i$ 的类型 $3$ 操作。
输出格式
设所有类型 $3$ 操作的个数为 $q$,请输出 $q$ 行。第 $i$ 行($1\leq i\leq q$)输出第 $i$ 个被输入的类型 $3$ 操作所要求的值。
说明/提示
### 数据范围
- $1\leq N\leq 2\times 10^5$
- $1\leq A_i\leq 10^9\ (1\leq i\leq N)$
- $1\leq Q\leq 2\times 10^5$
- 对于类型 $1$ 操作,$1\leq l\leq r\leq N$ 且 $1\leq x\leq 10^9$
- 对于类型 $2$ 操作,$i$ 不超过此前操作次数且 $1\leq i$
- 对于类型 $2$ 操作,第 $i$ 次操作为类型 $1$
- 对于类型 $2$ 操作,$i$ 不会重复
- 对于类型 $3$ 操作,$1\leq i\leq N$
- 所有输入均为整数
### 样例说明 1
初始时,数列 $A$ 为 $(2,7,1,8,2,8)$。第 $1,2,3$ 次操作分别输出 $A_1,A_3,A_4$ 的值,即 $2,1,8$。第 $4$ 次操作将 $A_1,A_2,A_3,A_4,A_5$ 替换为 $\max\{A_i,4\}$。操作后,$A$ 变为 $(4,7,4,8,4,8)$。第 $5,6,7$ 次操作分别输出此时 $A_1,A_3,A_4$ 的值,即 $4,4,8$。第 $8$ 次操作将 $A_3,A_4,A_5,A_6$ 替换为 $\max\{A_i,9\}$。操作后,$A$ 变为 $(4,7,9,9,9,9)$。第 $9,10,11$ 次操作分别输出此时 $A_1,A_3,A_4$ 的值,即 $4,9,9$。第 $12$ 次操作撤销第 $4$ 次操作。操作后,$A$ 变为 $(2,7,9,9,9,9)$。第 $13,14,15$ 次操作分别输出此时 $A_1,A_3,A_4$ 的值,即 $2,9,9$。
由 ChatGPT 4.1 翻译