#Lutece1928. 帆宝RMQ
帆宝RMQ
Migrated from Lutece 1928 帆宝RMQ
All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.
Description
帆宝
在某天学习RMQ(Range Minimum/Maximum Query)的过程中突然顿悟领悟RMQ的精髓,发明了带修改RMQ,简称帆宝RMQ,复杂度极其优越。ZinYY
想要学习帆宝RMQ,可是他太弱了,甚至连帆宝RBQ也学不会,所以帆宝
只能教给他最简单的帆宝RQ(Range Query)
这里定义帆宝RQ为,表示数列中最左边与最右边的下标之差的绝对值,当数列中不存在时
帆宝讲解完算法并留下一道课堂练习题给ZinYY
:对于一个长度为的给定数列,有个询问,每种询问有两个类型,类型是将区间的数都加上,类型是询问,并将答案输出
ZinYY
听完课还是一脸蒙蔽,你能帮他解决这道课堂练习题吗
Input
第一行包含两个数,
第二行包含个数,为数列,
接下来行,每行有个数或者个数
如果一行以开始,代表类型,输入格式为,
如果一行以开始,代表类型,输入格式为,
Output
对于每个类型,输出的值
Samples
4 3
1 2 3 4
1 1 2 1
1 1 1 1
2 3
2
2 3
1 2
1 2 2 1
2 3
2 4
0
-1
Resources
2018 UESTC Training for Data Structures