比赛场次 358
比赛名称 数列操作练习题
比赛状态 已结束比赛成绩
开始时间 2017-03-18 19:00:00
结束时间 2017-03-19 23:59:59
开放分组 全部用户
组织者 YGOI_真神名曰驴蛋蛋
注释介绍 数列操作按顺序做=ω=
祝愿大家颓得好成绩
题目名称 数列操作D
输入输出 segment.in/out
时间限制 3000 ms (3 s)
内存限制 512 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatarrvalue AAAAAAAAAA 2.073 s 38.66 MiB 100
Gravatar_Itachi AAAAAAAAAA 2.705 s 32.33 MiB 100

5. 数列操作D

★★★   输入文件:segment.in   输出文件:segment.out   简单对比
时间限制:3 s   内存限制:512 MiB

【题目描述】

一个长度为$n$的序列,一开始序列数的权值都是$0$,有$m$次操作:

0 l r,查询区间$[l,r]$内的权值和;

1 l r x,给区间$[l,r]$内位置为$i$的数加上$(i-l)*x$。

最终答案对$10^9+7$取模。

【输入格式】

第一行两个数$n,m$,表示序列长度和操作次数。

接下来m行,每行描述一个操作,具体格式见题目描述。

【输出格式】

每一个$0$操作输出一个整数模$10^9+7$

【样例输入】

5 5
0 2 3
1 4 5 1
1 1 5 5
0 1 4
0 2 3

【样例输出】

0
30
15 

【提示】

对于$30\%$的数据 $n, m\leq 2000$

对于$100\%$的数据,$n, m<=3\times 10^5$

保证读入的都是非负整数,所有的$x\leq 10^4$

【来源】

感谢神犇
非常感谢神犇

非常非常感谢神犇