#6622. 动态区间统计
动态区间统计
题目 6:动态区间统计
题目描述
某数据统计系统需要维护一个长度为 (n) 的整数序列:
初始时:
系统需要处理 (m) 次数据变化和统计请求。
每次操作有以下两种类型:
操作类型 1:数据增加
输入:
1 i x
表示:
将第 (i) 个位置的数据增加 (x)。
即:
操作类型 2:区间统计
输入:
2 l r
表示:
统计编号从 l 到 r 的数据总量:
并输出结果。
请你编写程序,实时完成所有统计任务。
输入格式
第一行输入两个整数:
n m
表示:
- (n):数据数量;
- (m):操作次数。
接下来 (m) 行,每行表示一次操作。
若操作为增加:
1 i x
其中:
- (i) 表示位置;
- (x) 表示增加量。
若操作为查询:
2 l r
其中:
- (l,r) 表示查询区间。
输出格式
对于每一次类型为 2 的操作:
输出一行整数,表示:
数据范围
对于所有测试数据:
1 ≤ n,m ≤ 100000
1 ≤ i ≤ n
1 ≤ l ≤ r ≤ n
-10^9 ≤ x ≤ 10^9
保证所有答案均在 long long 范围内。
样例输入
5 7
1 1 3
1 3 5
2 1 3
1 2 4
2 2 3
1 5 10
2 1 5
样例输出
8
9
22
样例解释
初始:
a = 0,0,0,0,0
执行:
1 1 3
表示:
数组:
3,0,0,0,0
执行:
1 3 5
数组:
3,0,5,0,0
执行:
2 1 3
查询:
即:
3+0+5=8
输出:
8
执行:
1 2 4
数组:
3,4,5,0,0
执行:
2 2 3
查询:
即:
4+5=9
输出:
9
执行:
1 5 10
数组:
3,4,5,0,10
执行:
2 1 5
查询:
输出:
22
相关
在以下作业中: