A33359.可变数组

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个长度为 NN 的数组 A1,A2,,ANA_1, A_2, \cdots, A_N

你需要执行 QQ 个操作,第 ii 个操作的类型为 TiT_i

  • Ti=1T_i = 1:给定两个整数 PiP_iXiX_i,将 APiA_{P_i} 的值替换为 XiX_i
  • Ti=2T_i = 2:给定两个整数 LiL_iRiR_i,交换 ALiA_{L_i}ARiA_{R_i} 的值。
  • Ti=3T_i = 3:给定两个整数 LiL_iRiR_i,查询 ALi,ALi+1,,ARiA_{L_i}, A_{L_i + 1}, \cdots, A_{R_i} 中的最大值。
  • Ti=4T_i = 4:给定三个整数 XiX_iLiL_iRiR_i,查询数组中 [Li,Ri][L_i, R_i] 中第一个大于等于 XiX_i 的元素的下标,即满足 LijRi,AjXiL_i \le j \le R_i, A_j \ge X_i 的最小的 jj;如果 LiL_iRiR_i 中的没有任何 jj 满足条件,则输出 1-1

数据范围\large{数据范围}

  • 1N,Q1061 \le N, Q\le 10^6
  • 1Ai1091 \le A_i \le 10^9
  • 1Ti41 \le T_i \le 4
  • 1PiN(Ti=1)1 \le P_i \le N(T_i = 1)
  • 1Xi109(Ti=1,4)1 \le X_i \le 10^9(T_i = 1, 4)
  • 1LiRiN(Ti=2,3,4)1 \le L_i \le R_i \le N(T_i = 2, 3, 4)

输入格式

对于每个输入文件,格式如下:

N Q\tt{N\ Q}
A1 A2  AN\tt{A_1\ A_2\ \cdots\ A_N}
Query1\tt{Query_1}
Query2\tt{Query_2}
\tt{\vdots}
QueryQ\tt{Query_Q}

对于每个 Queryi\tt{Query_i} 格式如下:

Ti=1T_i = 1

Ti Pi Xi\tt{T_i\ P_i\ X_i}

Ti=2,3T_i = 2, 3

Ti Li Ri\tt{T_i\ L_i\ R_i}

Ti=4T_i = 4

Ti Xi Li Ri\tt{T_i\ X_i\ L_i\ R_i}

输出格式

对于每个 Ti=3,4T_i = 3, 4 的查询,在单独的一行输出答案。

输入输出样例

  • 输入#1

    6 7
    7 1 3 5 2 5
    3 1 6
    4 3 2 5
    1 6 9
    2 3 5
    4 3 2 5
    3 1 6
    4 10 3 6

    输出#1

    7
    3
    4
    9
    -1
  • 输入#2

    17 11
    18 10 12 7 1 12 9 3 6 13 11 7 1 13 11 5 20
    3 10 14
    2 1 16
    4 17 1 12
    1 9 12
    1 13 3
    1 17 14
    4 6 4 13
    1 3 11
    3 13 16
    4 19 11 15
    4 12 8 15

    输出#2

    13
    -1
    4
    18
    -1
    9

说明/提示

样例 1\bf{样例\ 1:}

  1. (A1,A2,A3,A4,A5,A6)=(7,1,3,5,2,5)(A_1, A_2, A_3, A_4, A_5, A_6) = (7, 1, 3, 5, 2, 5) 的最大值为 77,故输出 77
  2. (A2,A3,A4,A5)=(1,3,5,2)(A_2, A_3, A_4, A_5) = (1, 3, 5, 2) 中第一个大于等于 33 的元素为 A3=3A_3 = 3,故输出 33
  3. A6A_6 的值修改为 99,此时数组 A=(7,1,3,5,2,9)A = (7, 1, 3, 5, 2, 9)
  4. 交换 A3A_3A5A_5 的值,此时数组 A=(7,1,2,5,3,9)A = (7, 1, 2, 5, 3, 9)
  5. (A2,A3,A4,A5)=(1,2,5,3)(A_2, A_3, A_4, A_5) = (1, 2, 5, 3) 中第一个大于等于 33 的元素为 A4=5A_4 = 5,故输出 44
  6. (A1,A2,A3,A4,A5,A6)=(7,1,2,5,3,9)(A_1, A_2, A_3, A_4, A_5, A_6) = (7, 1, 2, 5, 3, 9) 中的最大值为 99,故输出 99
  7. (A3,A4,A5,A6)=(2,5,3,9)(A_3, A_4, A_5, A_6) = (2, 5, 3, 9) 中不存在大于等于 1010 的数字,故输出 1-1
首页