#P6707. [COCI 2010/2011 #7] UPIT

    ID: 5662 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2011平衡树块状链表,块状数组,分块COCI

[COCI 2010/2011 #7] UPIT

Description

给定一个数列 ff ,有以下操作。

设数列当前长度为 nn

查询种类 描述
1 A B X fi=X(AiB)f_i=X(A \le i \le B)
2 A B X fi+=(iA+1)×X(AiB)f_i+=(i-A+1) \times X(A \le i \le B)
3 C X fi+1=fi(Cin)f_{i+1}=f_i(C \le i \le n) fC=Xf_C=X
4 A B i=ABfi\sum^B_{i=A}f_i

Input Format

第一行两个正整数 nn , QQ,分别表示数列初始长度和操作数量。

第二行 nn 个非负整数表示初始数列。

接下来 QQ 行每行各包含一个如上询问。

Output Format

对于每一个 44 号操作,输出一行答案。

5 5
1 2 3 4 5
1 5 5 0
4 4 5
4 5 5
2 1 5 1
4 1 5
4
0
25
1 7
100
3 1 17
3 2 27
3 4 37
4 1 1
4 2 2
4 3 3
4 4 4
17
27
100
37

Hint

数据规模及约定

设当前数列长 tt

对于 100%100\% 的数据 1n1 \le n , Q1×105Q \le 1 \times 10^5 , fi1×105f_i \le 1 \times 10^5 , 1X1001 \le X \le 100 , 1ABt1 \le A \le B \le t , 1Ct+11 \le C \le t + 1

说明

本题满分 130130 分。

译自 COCI2010-2011 CONTEST #7 T6 UPIT。