[P5350] 序列 (加强版)
题目背景
本题为 [P5350](https://www.luogu.org/problem/P5350) 的加强版。
本题很良心,不卡空间!
题目描述
有一个序列 $a_n$ 和 $q$ 次操作。
- `1 l r` 求区间 $[l,r]$ 的和
- `2 l r k` 区间 $[l,r]$ 赋值为 $k$
- `3 l r k` 区间 $[l,r]$ 加上 $k$
- `4 l1 r1 l1 r2` 将区间 $[l_1,r_1]$ 复制到 $[l_2,r_2]$ 处
- `5 l1 r1 l2 r2` 将区间 $[l_1,r_1]$ 与 $[l_2,r_2]$ 交换
- `6 l r` 翻转区间 $[l,r]$
最后还要输出整个序列,所有输出都要对 $10^9+7$ 取模。
为了卡掉某些乱搞做法,**本题强制在线**。
每次操作中,除了输入第一个数,其它所有数都需要异或 $\text{last}$ 才是实际的操作。
$\text{last}$ 为上一次 $1$ 操作的答案 $\pmod{10^9 +7}$,定义初始 $\text{last} = 0$。
输入输出格式
输入格式
第一行两个正整数 $n,q$,表示序列长度与操作个数。
第二行 $n$ 个正整数,表示序列 $a$
接下来 $q$ 行,每行表示一次操作。
输出格式
对于每次操作,输出一行一个整数表示答案。
最后一行输出 $n$ 个整数,表示最终的序列 $a$。
输入输出样例
输入样例 #1
10 10
7 1 3 2 2 4 0 1 2 2
4 10 10 3 3
3 4 10 5
6 6 7
6 9 10
1 10 10
5 14 13 1 0
2 15 13 7
5 3 3 2 2
5 5 3 15 13
3 4 14 7
输出样例 #1
7
7 0 0 0 7 7 7 1 2 7
说明
【数据范围】
$1\le n,q \le 3\times 10^5$
$0\le a_i,k \le 10^9$
对于 $4,5$ 操作,保证 $r_1-l_1 = r_2-l_2$ 且 $[l_1,r_1] \cap [l_2,r_2] = \varnothing$
**不保证数据随机** 且 **没有梯度**
想交 ODT 的就算了吧!