首页 > 其他 > 详细

# 二维差分

时间:2020-01-21 22:43:07      阅读:85      评论:0      收藏:0      [点我收藏+]

二维差分

整理一下差分的板子。

//二维差分
//对(x1,y1),(x2,y2)包围的矩阵中所有元素加上x
inline void add(int x1,int y1,int x2,int y2,int x){
    d[x1][y1]+=x;
    d[x1][y2+1]-=x;
    d[x2+1][y1]-=x;
    d[x2+1][y2+1]+=x;
}

//读入矩阵中的元素时,通过add操作加入到差分数组中
rep(i,1,n)rep(j,1,m){
    sf(x);
    add(i,j,i,j,x);
}

//二维前缀和
d[i][j]+=d[i-1][j]+d[i][j-1]-d[i-1][j-1];

# 二维差分

原文:https://www.cnblogs.com/sstealer/p/12227175.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!