原数组:$a_1,a_2,...,a_n$
前缀和:$s_i = a_1+a_2+..+a_i$
如何求$s_i$
for循环遍历到i,累加
注意边界值$s_0=0$,因此,不会有特判情况
前缀和作用
能快速求出数组里一段区间的和$[l,r]=s_r-s_{l-1}$
原数组:$a_{ij}$
前缀和:$s_{ij}$表示点$i,j$左上角矩阵的和
如何求$s_i$
递推公式
$s_{i,j}=s_{i,j-1}+s_{i-1,j}-s_{i-1,j-1}+a_{i,j}$
前缀和作用
能快速求出子矩阵的和
蓝色区域的和=大区域-红色区域-绿色区域+紫色区域
$s=s_{x2,y2}-s_{x2,y1-1}-s_{x1-1,y2}+s_{x1-1,y1-1}$
<aside> 💡 原数组:$a_1,a_2,...,a_n$
构造差分数组:$b_1,b_2,...,b_n$
使得$a_i=b_1+b_2+...+b_i$
</aside>