假的线段树
题目背景
LS疯狂迷恋线段树,但是如果出在语法测试中确实有点过分,那就来一棵假的线段树。
题目描述
线段树是以后要学习的一种神奇的数据结构,它能实现的是对一个数组进行区间修改,区间查询。现在LS给你一个由\(n\)个数组成的数组\(num[n]\),接下来又会让你进行\(m\)次操作,一共可能会有两种操作,如下:
- 当\(opt=1\)时,给出三个数\(l,r,v\),将\(a_l\)到\(a_r\)的所有数都加\(v\)。
- 当\(opt=2\)时,给出两个数\(l,r\),输出\(a_l\)到\(a_r\)之间所有数的和。
PS:题目中所给数列下标从1开始
输入格式
第一行输入两个整数\(n,m\),具体含义见题目描述
第二行输入\(n\)个整数,为数组\(num[\ ]\)。
接下来\(m\)行,每行由三或四个整数构成,为\(opt,l,r,v\)或\(opt,l,r\)。
输出格式
对于每次\(opt=2\)的操作,都要输出该操作得到的和。
输入输出样例
输入#1
5 4
1 2 3 4 5
1 1 3 1
2 1 2
1 2 4 2
2 1 5
输出#1
5
24
数据范围与约定
对于\(100\%\)的数据,\(0 \le n,m \le 100,\ 0 \le v,num[i]\le 10000\)。
信息
- ID
- 1003
- 难度
- 1
- 分类
- (无)
- 标签
- 递交数
- 33
- 已通过
- 6
- 通过率
- 18%
- 上传者
相关
在下列比赛中: