Guest
Login
跳过导航链接

数列问题
Time Limit:5000MS  Memory Limit:32768K

Description:

计算机是当代最伟大的发明之一,一般计算机1秒钟运算可以到达8千万次~一亿次,现在你的问题来了! 有一个整数序列A[],长度为N,标号为0~N-1,初始值A[i] = i。 现有4种操作:
add a b val : 给(A[a],A[a+1],...,A[b])都加上一个数val
mul a b val : 给(A[a],A[a+1],...,A[b])都乘上一个数val
set a b val : 把(A[a],A[a+1],...,A[b])的值都变成val
query a b :计算(A[a],A[a+1],...,A[b])的和

所有(a <= b < N <= 100000) val < 100000000

Input:

多组数据;每组数据第一行两个整数N和Q,表示序列长度为N,操作数目是Q。(1<=N, Q<=100000). 然后是Q行,每行一个操作。

Output:

对于每个query操作输出一个答案,答案模1000000007。

Sample Input:

6 5
add 0 2 1
query 0 3
mul 2 4 3
set 1 3 0
query 1 3

Sample Output:

9
0

Hint:

数据很强大,读入请用scanf。

Source:

琐利达尔
Status  Submit


Zhe Jiang University Of Technology Online Programming Space Beta1.3
Designed & Developped By Jin Qiwei
Refactored By cb@zjut.edu.cn , QQ Group: 723311416  All Copyright Reserved 2006-
209