1809: 线段树_区间操作
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:62
Solved:23
Description
计算机程序设计竞赛公布成绩后,总有一个申诉的环节,组委会审核后确认评分有差错,就会去更正该选手的最终成绩。
下面给定 n名学生竞赛后的成绩序列表,你需要使用线段树进行下面两种操作:
(1) 操作命令 1 : 将区间 [x,y] 内每个成绩加上 k。 .
(2) 操作命令 2 : 求出某区间内成绩的和。
只需要输出所有操作命令2的结果。
Input
第一行包含两个整数n,m,分别表示该数列数字的个数和操作的总个数。
第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始值。
接下来 m 行每行包含 3 或 4 个整数,表示一个操作,具体如下:
1 x y k:将区间 [x,y] 内每个数加上 k。
2 x y: 输出区间 [x,y] 内每个数相加的和。
Output
输出包含若干行整数,即为所有操作 2 的结果。
Sample Input Copy
5 5
1 5 4 2 3
2 2 4
1 2 3 2
2 3 4
1 1 5 1
2 1 4
Sample Output Copy
11
8
20
HINT
1 < n,m <= 100000