acwing基础课ch1-前缀和与差分
目录
前缀和
一维前缀和
- 利用存储的部分前缀和快速计算部分数组的和
- 前缀和数组长度为n+1
- s[0] = 0, s[i]表示nums[i]前所有数的和,不包括nums[i]
- s[i]表示前i个数的前缀和
|
|
二维前缀和->计算指定区域内的和
- $s[i][j]$表示的是前i行,前j列的区域和。
|
|
差分
- 构造一个新的数组使原数组成为该数组的前缀和。
- 作用:用O(1)的时间让某个区间[l, r]全部加上一个值
- 原数组求差分数组相当于差分数组在对应位置插入原数组的值,a[l] + c, a[r+1] - c。


|
|
二维差分数组
- 在二维区域内$a[x1][y1]->a[x2][y2]$区域间所有的数加上一个数c.
- 等同于其差分数组$b[x1][y1] += c$,$b[x2+1][y1]-=c$,$b[x1][y2+1]-=c$,$b[x2+1][y2+1]+=c$

|
|