T653387 [CFCOI] 冰封线段树

题目背景

::::info[题目信息] - 出题人:@[zhangruixiang](https://www.luogu.com.cn/user/1293987) - 验题人(std & sol):@[035966_L3](https://www.luogu.com.cn/user/365654) - 数据:@[zhangruixiang](https://www.luogu.com.cn/user/1293987) @[035966_L3](https://www.luogu.com.cn/user/365654) 不要再说这是板子了qwq!! https://www.luogu.com.cn/discuss/1133912 *** 本题已经同步转移至 [Sleeping Cup P193](http://8.136.99.126/p/P193)。 [](https://cdn.luogu.com.cn/upload/image_hosting/h9iut3fc.png"图片已撤下") :::: :::align{center} 雪葬…… $\color{#dcdc00}{\texttt{-1225}}$ ![](https://deltarune.wiki/images/Weird_Route_screenshot_Chapter_4.png?cb=7b88ad&h=thumb.php&f=Weird_Route_screenshot_Chapter_4.png) :::

题目描述

Bizy 有一个序列。但是由于未知原因,它时常被冻住。\ \ 有以下操作: - `1 l r x` 将 $[l,r]$ 中的所有数加上 $x$ ,即为 『加』操作。 - `2 l r` 查询 $[l,r]$ 的区间和并取模。 - `3 l r x` 将 $[l,r]$ 冰封,冰封值为 $x$ ,这使得接下来对这个区间内的所有数的『加』操作所加上的数值乘上 $x$ 。这被成为『效果』。『效果』可以叠加。 - `4 l r` Bizy 施展技能将 $[l,r]$ 解冻,并移除这一段的所有『效果』(即使这一个区间被冰封两次以上)。 初始所有数均为0、没有任何『效果』。所有操作(包括对序列的加以及『效果』的乘)对 $10^9+7$ 取模。

输入格式

第一行,两个数 $n,m$ 代表序列长度和操作数量。\ \ 接下来 $m$ 行,一行一个操作,格式见上。

输出格式

见上,对操作2进行输出,并换行。

说明/提示

**负数取模需要取成正数,如果需要求 $a \bmod p$,使用 `(a%p+p)%p`** 所有测试点满足 $-10^6\le x\le 10^6$。\ \ 以下同一行的测试点均开启捆绑测试。 ::cute-table{tuack} | 测试点 | 性质 | 数据范围 | |:-:|:-:|:-:| | $1,2$ | 无 | $n,m\le1000$ | | $3,4$ | $A$ | $n,m\le2\times10^5$ | | $5,6$ | $B$ | $n,m\le2\times10^5$ | | $7,8$ | $C$ | $n,m\le2\times10^5$ | |$9,10$|无|$n,m\le2\times10^5$| $A:$ 没有 $3,4$ 操作。\ $B:$ 没有 $4$ 操作,对于所有 $3$ 操作,满足 $x=0$。\ $C:$ 对于所有 $3$ 操作,满足 $x=0$。 *** 注意时间限制。