“二维前缀和”的两种构造方式(下标 i、j 从 1 开始)

​● 二维前缀和两种构造方式(下标 i、j 从 1 开始):
(1)双数组版
先读入原数组:cin>>a[i][j];
再求前缀和:s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
数组 s 存前缀和,数组 a 存原始数据。
(2)单数组版
直接读入原始权值:cin>>s[i][j];
原地递推更新:s[i][j]+=s[i-1][j]+s[i][j-1]-s[i-1][j-1];
数组 s 初始存储原矩阵权值,经递推计算后原地覆盖,保存二维前缀和。

● 洛谷 P2280:[HNOI2003] 激光炸弹:https://blog.csdn.net/hnjzsyjyj/article/details/170368431
● AcWing 796:子矩阵的和:https://blog.csdn.net/hnjzsyjyj/article/details/144908502
● 洛谷 P3397:地毯:https://blog.csdn.net/hnjzsyjyj/article/details/145268744
● “斜十字法”图例助记二维前缀和及二维差分等公式:https://blog.csdn.net/hnjzsyjyj/article/details/145290457

​

posted @ 2026-11-10 21:09  Triwa  阅读(2)  评论(0)    收藏  举报