P5586 [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$。
输入格式
无
输出格式
无
说明/提示
【数据范围】
$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 的就算了吧!