东方博宜OJ 2390:区间修改与查询 ← 线段树
【题目来源】
【题目描述】
给定由 N 个整数构成的数列,再给定 M 条指令,每条指令可能是如下两种之一:
1. C l r d,表示将区间 [l,r] 之间的每个数都加上整数 d;
2. Q l r,表示询问区间 [l,r] 之间所有数的和;
对于每次询问,请输出对应的和。
【输入格式】
第 1 行有 2 个整数 N 和 M。
第 2 行有 N 个整数,空格隔开。
接下来 M 行,每行读入一条题目描述的指令。
【输出格式】
输出若干行,每行一个整数,代表了对于每次询问输出的结果。
【输入样例】
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
【数据范围】
1≤N,M≤10^5,1≤l,r≤N,-10000≤d≤10000,
读入的 N 个整数的值在[-10^9,10^9]范围。
【算法分析】
● 本文代码与“洛谷 P3372:线段树 1”代码基本一样。详见:
【算法代码】
【参考文献】

浙公网安备 33010602011771号