您的位置:首页 > 其它

(待切,标记上)暑期个人赛--第八场--E

2014-08-08 22:39 169 查看


E. 田田的算数题 2014新生暑假个人排位赛08

时间限制 10000 ms 内存限制 65536
KB


题目描述

焦级长和田田玩算数。焦级长给田田一个数列ai,然后问田田第i项到第j项的数的和。

田田随手写了个简单的数据结构就搞定了。于是焦级长打算加大题目难度。

焦级长又添加了一个操作,即从第i项到第j项都按顺序加上一个等差数列的项

如从第2项到第4项加入一个首项为1,公差为3的等差数列即第2项+1,第3项+4,第4项+7,以此类推

于是田田写了半天又WA又T还RE了一炮,终于来求救你让你来写个程序帮他


输入格式

第一行为case数T

每个case第一行输入n,m,表示有数列长为n,有m个操作

之后n个数为ai即数列的初始数

之后m行为m个操作

第一个操作为插入

为1,l,r,x,d

1表示插入操作,l,r为数列的[l,r]会进行操作,等差数列的首项为x,公差为d

第二个操作为查询和

为2,l,r

2表示查询,l,r为求和的范围,即求al到ar的数列的和
T<=10

n,m<=10^5

ai,x<10^5,|d|<=100;


输出格式

每个查询输出一个值


输入样例

1

6 9
1 2 3 4 5 6
2 1 4
2 1 6
1 1 4 1 0
2 2 5
1 2 4 1 1
2 1 4
2 2 4
2 1 5
2 2 6



输出样例

10
21
17
20
18
25
29
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: