#lg4433. [COCI 2009/2010 #1] ALADIN

    ID: 3603 传统题 8000ms 64MiB 尝试: 47 已通过: 5 难度: 9 上传者: 标签>数学线段树递归类欧几里得算法NOI/NOI+/CTS

[COCI 2009/2010 #1] ALADIN

[AdditionalFile2958.zip](file://AdditionalFile2958.zip?type=additional_file)

#2958. 「COCI 2009.10」ALADIN

标签: 传统 | 时间限制: 6000 ms | 内存限制: 64 MiB |

题目描述

译自 COCI 2009.10 T6. ALADIN

有一个长度为 NN 的数组 a1,a_1, a2,a_2, ,\ldots, aNa_N,开始时这 NN 个数均为 0。
接下来对它有 QQ 次操作,操作分为两类:

  • 1 L R A B\texttt{1 L R A B},修改操作,a[L] = A%B; a[L+1] = (2*A)%B; a[L+2] = (3*A)%B; ... a[R] = ((R-L+1)*A)%B;
  • 2 L R\texttt{2 L R},查询操作,请输出 a[L]+a[L+1]+...+a[R]

输入格式

第一行两个整数 N,QN,Q
接下来 QQ 行,每行一组操作。

输出格式

对于每组查询操作,输出一行结果。

样例 1

输入

6 3
2 1 6
1 1 5 1 2
2 1 6

输出

0
3

样例 2

输入

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

输出

3
2
1
0

样例 3

输入

4 4
1 1 4 7 9
2 1 4
1 1 4 1 1
2 1 4

输出

16
0

数据范围与提示

对于 30%30\% 的数据,N,Q1000N, Q\le 1000
对于 70%70\% 的数据,Q1000Q\le 1000
对于所有数据,1N109,1\le N\le 10^9, 1Q5×104,1\le Q\le 5\times 10^4, 1A,B1061≤ A, B ≤ 10^6