#P9670. 序列操作
序列操作
题目描述
有一个长度为 的序列,有三个操作:
I a b c
表示将 这一段区间的元素集体增加 ;R a b
表示将 区间内所有元素变成相反数;Q a b c
表示询问 这一段区间中选择 个数相乘的所有方案的和 的值。
输入格式
第一行两个数 表示序列长度和操作个数。
第二行 个非负整数,表示序列。
接下来 行每行输入一个操作 I a b c
或者 R a b
或者 Q a b c
,意义如题目描述。
输出格式
对于每个询问,输出选出 个数相乘的所有方案的和 的值。
样例
5 5
1 2 3 4 5
I 2 3 1
Q 2 4 2
R 1 5
I 1 3 -1
Q 1 5 1
40
19940397
做完第一个操作序列变为 1 3 4 4 5
。
第一次询问结果为 。
做完R
操作变成 -1 -3 -4 -4 -5
。
做完I
操作变为 -2 -4 -5 -4 -5
。
第二次询问结果为 。
数据范围
对于全部的数据,,初始序列的元素的绝对值 ,保证 是一个合法区间,I
操作中 ,Q
操作中 。