#920. Transformation
Transformation
题目背景
原题链接:HDU4578.
题目描述
现有 个正整数 ,初始值均为 。
要对它们做 次操作,每次操作可以分为以下四种:
- 对 到 的所有整数加上 。
- 形式化地,对于每个整数 ,执行操作 。
- 对 到 的所有整数乘上 。
- 形式化地,对于每个整数 ,执行操作 。
- 将 到 的所有整数都改为 。
- 形式化地,对于每个整数 ,执行操作 。
- 询问从 到 的所有整数的 次方和,并对 取模;其中 满足 。
- 形式化地,求出 $[(a_x)^p + (a_{x+1})^p + \cdots + (a_y)^p] \mod 10007$ 的值。
请你实现一种高效的数据结构支持以上操作。
输入格式
输入的第一行包含两个正整数 分别表示被操作数的个数、操作次数。
接下来 行,每行表示一次操作,格式如下:
1 x y c
,表示上述操作 ,即区间 都加上 。2 x y c
,表示上述操作 ,即区间 都乘上 。3 x y c
,表示上述操作 ,即区间 都赋值为 。4 x y p
,表示上述操作 ,求出区间 所有数的 次方和对 取模的值。
输出格式
对于每个操作 均输出一行,表示询问的答案。注意对 取模。
5 5
3 3 5 7
1 2 4 4
4 1 5 2
2 2 5 8
4 3 5 3
307
7489
数据范围
对于 的数据,,,,。
注意事项:对于查询操作与修改操作,各有 的数据不随机。