题目描述
给定一个长度 n 的整数序列 a1,…,an;
给定一个由 m 次操作构成的操作序列,操作从 1 开始编号,到 m 结束。操作序列中包含修改操作和求和操作,修改操作给定 l,r,v,将 al,al+1,…,ar 修改为 v,求和操作给定 l,r ,查询 i=l∑rai。
共 q 次查询,每次查询给出 L,R ,询问将序列 a 初始化为 0 后,依次进行操作序列中的第 L,L+1,…,R 次操作,每次求和操作的答案之和。
输入格式
第一行三个整数 n,m,q;
接下来 m 行,每行 1,l,r,v 或 2,l,r 表示一次操作;
接下来 q 行,每行两个整数 L,R 表示一次查询。
输出格式
共 q 行,每行一个整数,依次表示每次查询的答案。
10 5 4
1 9 10 7
1 7 10 9
2 3 10
1 10 10 1
2 5 10
2 5
1 1
3 4
1 3
64
0
0
36
提示
对所有数据,满足 1≤l≤r≤n,1≤v≤n,1≤L≤R≤m,1≤n,m,q≤5×105。
对 10% 的数据,n,m,q≤102。
对另外 20% 的数据,n,m,q≤5×103。
对另外 10% 的数据,每次操作都是求和操作。
对另外 20% 的数据,每次查询满足 L=1。
对另外 20% 的数据,n,m,q≤2×105。
对于其余数据,无特殊限制。