您的位置:首页 > 其它

POJ 3468

2016-01-07 10:04 281 查看

描述

N个整数,A1,A2,⋯,ANA_1, A_2, \cdots, A_N. 需要处理两种操作:

一种操作是在给定的区间,给区间内的每个数加上某个数。

另一种是在给定的区间求区间内的数的和。

输入

第一行是两个数,N,Q,1≤N,Q≤100000 1 \le N, Q \le 100000.

第二行是N个数,A1,A2,⋯,ANA_1, A_2, \cdots, A_N 的初始值, −1,000,000,000≤Ai≤1,000,000,000-1,000,000,000 \le A_i \le 1,000,000,000.

接下来的Q行,每行代表一个操作:

“C a b c”表示加上c到Aa,Aa+1,⋯,Ab.−10000≤c≤10000.A_a, A_{a+1}, \cdots, A_b. -10000 \le c \le 10000.

“Q a b” 表示查询 Aa,Aa+1,⋯,AbA_a, A_{a+1}, \cdots, A_b 的和。

输出

按照顺序输出Q行的值,每行一个值。

输入样例

10 5

1 2 3 4 5 6 7 8 9 10

Q 4 4

Q 1 10

Q 2 4

C 3 6 3

Q 2 4

输出样例

4

55

9

15

注意:总和可能超过32bit整数范围

C实现

明天上代码

背景

线段树:http://www.cnblogs.com/TenosDoIt/p/3453089.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: