100
#LS1227. 【普及】单点更新,区间最值

【普及】单点更新,区间最值

【普及】单点更新,区间最值

如题,已知一个数列,你需要进行下面两种操作:

  • 将某一个数修改为 xx

  • 求出某区间最大的数

输入格式

第一行包含两个正整数 n,mn,m,分别表示该数列数字的个数和操作的总个数。

第二行包含 nn 个用空格分隔的整数,其中第 ii 个数字表示数列第 ii 项的初始值。

接下来 mm 行每行包含 33 个整数,表示一个操作,具体如下:

  • 1 p x 含义:将第 pp 个数修改为 xx

  • 2 l r 含义:输出区间 [x,y][x,y] 内最大的数

输出格式

输出包含若干行整数,即为所有操作 22 的结果。

5 6
1 2 3 4 5
2 1 5
1 3 6
2 3 4
2 4 5
1 2 9
2 1 5
5
6
5
9

提示

【样例 1 解释】

  • 2 1 5:数组为 1 2 3 4 5[1, 5] 的最大值是 5
  • 1 3 61 2 3 4 5 \Rightarrow 1 2 6 4 5
  • 2 3 4:数组为 1 2 6 4 5[3, 4] 的最大值是 6
  • 2 4 5:数组为 1 2 6 4 5[4, 5] 的最大值是 5
  • 1 2 91 2 6 4 5 \Rightarrow 1 9 6 4 5
  • 2 1 5:数组为 1 2 6 4 5[1, 5] 的最大值是 6

【数据范围】

  • 对于所有测试点,保证 1n,m2×1051 \le n, m \le 2 \times 10^5
  • 保证数组中的数 aia_i 始终在 1ai1071 \le a_i \le 10^7
请思考后再点击查看提示

来源