#SFJSJJZN3112. 「Can you answer on these queries III」 你能回答这些问题吗

    ID: 924 传统题 1000ms 128MiB 尝试: 34 已通过: 9 难度: 7 上传者: 标签>高级算法来源算法竞赛进阶指南线段树数据结构3

「Can you answer on these queries III」 你能回答这些问题吗

题目描述

给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:

1、“1 x y”,查询区间 [x,y][x,y] 中的最大连续子段和,即 $\max\limits _{x \le l \le r \le y}\{∑\limits^r_{i=l} A[i]\}$。

2、“2 x y”,把 A[x] 改成 y。

对于每个查询指令,输出一个整数表示答案。

输入格式

第一行两个整数N,M。

第二行N个整数A[i]。

接下来M行每行3个整数k,x,y,k=1表示查询(此时如果x>y,请交换x,y),k=2表示修改。

输出格式

对于每个查询指令输出一个整数表示答案。

每个答案占一行。

数据范围

N500,000N \le 500,000, M100,000M \le 100,000 1000A[i]1000−1000≤A[i]≤1000

输入样例:

5 3
1 2 -3 4 5
1 2 3
2 2 -1
1 3 2

输出样例:

2
-1

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解