0611 【模板】线段树 1 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

0611

【模板】线段树 1

Easy 时间限制 1000 ms 内存限制 262144 KB
线段树

题目详情

返回题库

题目描述

如题,已知一个数列,你需要进行下面两种操作:

  1. 将某区间每一个数加上k。
  2. 求出某区间每一个数的和。

输入描述

第一行包含两个整数n,m,分别表示该数列数字的个数和操作的总个数。

第二行包含   n 个用空格分隔的整数,其中第   i 个数字表示数列第   i 项的初始值。

接下来   m 行每行包含  3 或  4  个整数,表示一个操作,具体如下:

1 x y k:将区间  [x,y] 内每个数加上   k。

2 x y:输出区间 [x,y] 内每个数的和。

数据范围:

对于30%的数据:n≤8m≤10

对于70%的数据:n≤10^3m≤10^4

对于100%的数据:1≤n,m≤10^5

输出描述

输出包含若干行整数,即为所有操作 2 的结果

测试样例

样例支持多行内容展示
样例1
输入
5 5
1 5 4 2 3
2 2 4
1 2 3 2
2 3 4
1 1 5 1
2 1 4
输出
11
8
20
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。