题目描述
你有一个 n 行 m 列的网格,每个格子可以被染黑或染白,初始每个格子均为白色。定义第 i 行的美观程度为最大的 x ,满足对于所有 1≤j≤x,第 i 行的第 j 个格子的颜色是黑色。
你需要对这个网格执行 m 次操作。操作有以下四种:
- 给定三个整数 l,r,x,表示把第 x 列的第 l 到第 r 个格子染黑。
- 给定三个整数 l,r,x,表示把第 x 列的第 l 到第 r 个格子染白。
- 给定三个整数 l,r,v,你需要把第 l 到第 r 行中美观程度最小的行的权值加上 v,如有多行均为最小则对每行都加 v。
- 给定两个整数 l,r,你需要输出第 l 到第 r 行的权值之和,对 264 取模。
每行初始权值为 0。
输入格式
第一行包含两个整数 n,m。
接下来 m 行,每行第一个正整数 opi 表示操作编号。
对于 opi=1 或 opi=2,后面紧跟三个正整数 li,ri,xi,表示执行上述对应操作。
对于 opi=3,后面紧跟三个整数 li,ri,vi,表示执行上述对应操作。
对于 opi=4,后面紧跟两个整数 li,ri,表示询问这个区间的权值之和对 264 取模的值。
输出格式
若干行,对于每个 opi=4 输出其答案。
样例一
input
3 5 1 2 2 1 3 1 3 1 4 1 1 4 1 2 4 1 3
output
1 1 2
数据规模与约定
对于 100% 的数据,1≤n,m≤3×105,1≤li≤ri≤n,1≤xi≤min。
本题采用子任务捆绑测试。
\text{subtask1}(10 pts):保证 1 \le n, m \le 1000 。
\text{subtask2}(15 pts):保证 x_i = 1 。
\text{subtask3}(15 pts):保证 1 \le x_i \le 10 。
\text{subtask4}(20 pts):保证 op_i = 3 和 op_i = 4 的操作一定出现在所有 op_i = 1 和 op_i = 2 的操作之后。
\text{subtask5}(10 pts):保证 1 \le n, m \le 40000 。
\text{subtask6}(30 pts):无特殊性质。
时间限制:4\texttt{s}
空间限制:1024\texttt{MB}