#aBC342G. [ABC342G] Retroactive Range Chmax

[ABC342G] Retroactive Range Chmax

AT_abc342_g [ABC342G] Retroactive Range Chmax

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,,AN)A=(A_1,A_2,\ldots,A_N)

请依次处理 QQ 个操作。操作有以下三种类型之一:

  • 类型 11 的操作由整数三元组 (l,r,x)(l,r,x) 表示,对 i=l,l+1,,ri=l,l+1,\ldots,r,将 AiA_i 替换为 max{Ai,x}\max\{A_i,x\}
  • 类型 22 的操作由整数 ii 表示,撤销第 ii 次操作(保证第 ii 次操作是类型 11,且此前未被撤销)。此时数列 AA 应为从初始状态出发,依次执行所有未被撤销的类型 11 操作后的结果。
  • 类型 33 的操作由整数 ii 表示,输出当前 AiA_i 的值。

输入格式

输入按以下格式从标准输入读入。

NN A1A_1 A2A_2 \ldots ANA_N QQ query1\operatorname{query}_1 query2\operatorname{query}_2 \vdots queryQ\operatorname{query}_Q

其中,queryk (1kQ)\operatorname{query}_k\ (1\leq k\leq Q) 表示第 kk 次操作,具体格式如下:

对于类型 11 的操作:

11 ll rr xx

表示第 kk 次操作为 (l,r,x)(l,r,x) 的类型 11 操作。

对于类型 22 的操作:

22 ii

表示第 kk 次操作为 ii 的类型 22 操作。

对于类型 33 的操作:

33 ii

表示第 kk 次操作为 ii 的类型 33 操作。

输出格式

设所有类型 33 操作的个数为 qq,请输出 qq 行。第 ii 行(1iq1\leq i\leq q)输出第 ii 个被输入的类型 33 操作所要求的值。

输入输出样例 #1

输入 #1

6
2 7 1 8 2 8
15
3 1
3 3
3 4
1 1 5 4
3 1
3 3
3 4
1 3 6 9
3 1
3 3
3 4
2 4
3 1
3 3
3 4

输出 #1

2
1
8
4
4
8
4
9
9
2
9
9

输入输出样例 #2

输入 #2

24
721 78 541 256 970 478 370 467 344 542 43 166 619 17 592 222 983 729 338 747 62 452 815 838
35
3 10
3 8
3 8
3 13
3 9
1 1 17 251
3 3
3 19
3 13
3 22
3 1
3 15
3 18
3 10
3 15
1 16 19 883
1 8 23 212
3 5
3 13
2 6
3 15
1 5 18 914
2 17
3 20
1 23 23 56
3 13
2 25
3 13
3 13
3 10
2 16
1 17 22 308
3 19
3 17
3 7

输出 #2

542
467
467
619
344
541
338
619
452
721
592
729
542
592
970
619
592
747
914
914
914
914
338
983
914

说明/提示

数据范围

  • 1N2×1051\leq N\leq 2\times 10^5
  • 1Ai109 (1iN)1\leq A_i\leq 10^9\ (1\leq i\leq N)
  • 1Q2×1051\leq Q\leq 2\times 10^5
  • 对于类型 11 操作,1lrN1\leq l\leq r\leq N1x1091\leq x\leq 10^9
  • 对于类型 22 操作,ii 不超过此前操作次数且 1i1\leq i
  • 对于类型 22 操作,第 ii 次操作为类型 11
  • 对于类型 22 操作,ii 不会重复
  • 对于类型 33 操作,1iN1\leq i\leq N
  • 所有输入均为整数

样例说明 1

初始时,数列 AA(2,7,1,8,2,8)(2,7,1,8,2,8)。第 1,2,31,2,3 次操作分别输出 A1,A3,A4A_1,A_3,A_4 的值,即 2,1,82,1,8。第 44 次操作将 A1,A2,A3,A4,A5A_1,A_2,A_3,A_4,A_5 替换为 max{Ai,4}\max\{A_i,4\}。操作后,AA 变为 (4,7,4,8,4,8)(4,7,4,8,4,8)。第 5,6,75,6,7 次操作分别输出此时 A1,A3,A4A_1,A_3,A_4 的值,即 4,4,84,4,8。第 88 次操作将 A3,A4,A5,A6A_3,A_4,A_5,A_6 替换为 max{Ai,9}\max\{A_i,9\}。操作后,AA 变为 (4,7,9,9,9,9)(4,7,9,9,9,9)。第 9,10,119,10,11 次操作分别输出此时 A1,A3,A4A_1,A_3,A_4 的值,即 4,9,94,9,9。第 1212 次操作撤销第 44 次操作。操作后,AA 变为 (2,7,9,9,9,9)(2,7,9,9,9,9)。第 13,14,1513,14,15 次操作分别输出此时 A1,A3,A4A_1,A_3,A_4 的值,即 2,9,92,9,9

由 ChatGPT 4.1 翻译