题目大意: 有一个长度为n的序列,有三个操作1.I a b c表示将[a,b]这一段区间的元素集体增加c,2.R a b表示将[a,b]区间内所有元素变成相反数,3.Q a b c表示询问[a,b]这一段区间中选择c个数相乘的所有方案的和mod 19940417的值. 思路: 显然需要用线段树维护一个数组sum[c]表示选c个数相乘的方案总和.合并的时候只要枚举c,然后枚举左边选几个数然后和右边的乘起来累加进去就好了.取反实际上就是把所有c为奇数的取反,关键是区间加.对于[l,r],区间+x,那…