#P195. [Separate Entry] Magic Segment Tree

[Separate Entry] Magic Segment Tree

版权声明

本题版权归 所有。

题目来源:https://www.luogu.com.cn/problem/T653387

经考虑,将原有取模方式改为了正常取模方式。

绝对不是写错了不想改。

注意

本题的时间限制为 10 秒。

由于原题数据有误,本题的数据进行了完整的重造。

本题共有 10 个测试点,每个测试点 10 分。

题目背景

题目描述

维护两个下标从 11 开始的序列 {an}\{a_n\}{bn}\{b_n\}(初始时 ai=0a_i=0bi=1b_i=1),支持四类共计 mm 个操作:

  1. 1 l r v:给定 l,r,vl,r,v,对于 lirl \le i \le r,给 aia_i 加上 v×biv \times b_i
  2. 2 l r:给定 l,rl,r,输出 alara_l \sim a_r 的和,答案对 109+710^9+7 取模。
  3. 3 l r v:给定 l,r,vl,r,v,对于 lirl \le i \le r,给 bib_i 乘上 vv
  4. 4 l r:给定 l,rl,r,对于 lirl \le i \le r,把 bib_i 赋值为 11

输入格式

第一行两个正整数 n,mn,m

下面 mm 行,每行描述一个操作。

输出格式

对于每个操作 2,输出一行一个非负整数表示答案。

答案对 109+710^9+7 取模。

样例

5 12
2 1 5
1 2 4 3
2 3 5
3 2 4 2
1 1 5 5
2 3 5
3 3 3 3
1 2 3 4
2 3 5
4 2 3
1 1 5 7
2 1 5
0
6
31
55
123
10 10
3 3 4 0
2 3 7
2 2 9
2 2 5
4 3 8
3 8 10 0
4 1 10
3 5 9 0
3 8 10 0
2 1 8
0
0
0
0
10 10
2 2 5
1 3 5 999010077
4 1 9
1 3 10 999011124
4 5 7
2 5 9
1 4 8 999001847
3 3 4 999011581
1 5 9 999030675
3 9 10 999005845
0
994065662

数据范围

对于 20%20\% 的数据,n,m1000n,m \le 1000

对于另外 20%20\% 的数据,保证没有操作 3 和操作 4。

对于另外 20%20\% 的数据,保证没有操作 4,且操作 3 中保证 v=0v=0

对于另外 20%20\% 的数据,操作 3 中保证 v=0v=0

对于 100%100\% 的数据,1n,m2×1051 \le n,m \le 2 \times 10^51lrn1 \le l \le r \le n0v109+60 \le v \le 10^9+6