跳到正文
信奥逐课

第 185 课

二维前缀和

🔵 基础 约 7 分钟

一句话理解

二维前缀和:s[i][j] 表示左上角 (1,1) 到 (i,j) 的矩形和。

为什么要学

子矩阵求和。

讲解

s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j]。容斥去掉重复加的部分。

例子

s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + a[i][j];

上块 + 左块 - 左上交叉 + 当前格。

常见错误

练习 做完再看下一课

二维前缀和递推需要减去左上角那块,因为被加了两次。

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课