P5350 序列

题目背景

搬运序列

题目描述

有一个序列$a_n$和若干操作。 - $\mathrm{1\ l \ r \ }$ 求$a_l$到$a_r$的和 - $\mathrm{2\ l \ r \ val \ }$ 将$a_l$到$a_r$赋值为$\mathrm{val}$ - $\mathrm{3\ l \ r \ val\ }$将$a_l$到$a_r$加上$\mathrm{val}$ - $\mathrm{4\ l_1 \ r_1 \ l_2 \ r_2 }$将$a_{l_1}$到$a_{r_1}$复制到$a_{l_2}$到$a_{r_2}$处 - $\mathrm{5\ l_1 \ r_1 \ l_2 \ r_2 }$将$a_{l_1}$到$a_{r_1}$与$a_{l_2}$到$a_{r_2}$交换 - $\mathrm{6\ l \ r \ }$将$a_l$到$a_r$翻转

输入格式

输出格式

说明/提示

**请注意常数优化** 若是$\mathrm{copy}$和$\mathrm{swap}$操作,保证$r_1-l_1=r_2-l_2$且区间不重叠。 保证数据随机。 对于$30\%$的数据,保证$\ n,m\le 10^3\ $。 对于$50\%$的数据,保证$\ n,m\le 5\times 10^4\ $。 对于$70\%$的数据,保证$\ n,m\le 1.5\times 10^5\ $。 对于$100\%$的数据,保证$\ n,m\le 3\times 10^5\ ,\ 0\le a_i,\mathrm{val}\lt Mod\ $。