给你一串长度为n的数列a1,a2,a3......an,要求对a[L]~a[R]进行m次操作:
操作一:将a[L]~a[R]内的元素都加上P
操作二:将a[L]~a[R]内的元素都减去P
最后再给出一个询问求s[L]-s[R]内的元素之和?
所以我们先求出差分数组,如果要在区间 [ L,R ] 内加上P ,则在L处加P ,在R+1处减P
最后输出时再计算1-L 的前缀和就是S[ L ] 了 。
二维数组前缀和
S[ i , j ] = S[ i- 1 ,j ] + S[i , j-1 ] - S[i - 1 , j-1 ] + A[ i , j ]
二维差分
c[x1][y1]+=s,c[x1][y2+1]−=s,c[x2+1][y1]−=s,c[x2+1][y2+1]+=s