前缀和与差分
1.前缀和
一维前缀和:sum[i]=sum[i-1]+a[i]
二维前缀和:(1)sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1]j-1]+a[i][j]
(2)sum[i][j]=sum[i-1][j]+f[i][j] // f[i][j]表示第i行前j个数的和
2.差分(数的差)
求l~r间数的和——>sum[r]-sum[l-1]
一维差分:b[i]=a[i]-a[i-1]——>a[i]=b[1]+b[2]+~~~+b[i]
二维差分:d[x1][y1]+=p,d[x1][y2+1]-=p,d[x2+1][y1]-=p,d[x2+1][y2+1]+=p
对序列差分只影响b[l],b[r+1]对其一个加一个减