#P4247. [清华集训2012] 序列操作
[清华集训2012] 序列操作
题目背景
滥用评测功能将被封号。
题目描述
有一个长度为 的序列,有三个操作:
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
操作中 。