小工具知识网

当前位置: 首页 > 行业知识 > 【Acwing】差分矩阵

行业知识

【Acwing】差分矩阵

2026-10-22 00:53:09 来源:互联网转载

�index.php/tags-41973.html" >�

 图1:a和b数组映射表

由于a是b的前缀和数组,因此改变b[ x1][ y1]之后,受到影响的a中元素如右半图所示

   图2:求b数组的前缀和 

#includeusing namespace std;int n,m,q;int a[1010][1010];int b[1010][1010];int main(){    ios::sync_with_stdio(0);    cin.tie(0);    cout.tie(0);        cin>>n>>m>>q;        for(int i=1;ia[i][j];            // 关于为什么要这么做,请看图1            b[i][j] += a[i][j];            b[i+1][j+1] += a[i][j];            b[i][j+1] -= a[i][j];            b[i+1][j] -= a[i][j];        }            int x1,y1,x2,y2,c;    for(int i=1;i>x1>>y1>>x2>>y2>>c;        b[x1][y1] += c;        b[x2+1][y2+1] += c;        b[x1][y2+1] -= c;        b[x2+1][y1] -= c;    }        // 求前缀和,也就是由b数组得到变化后的a数组    // 详见图2    for(int i=1;i

上一篇:英语提升秘籍,轻松掌握语言技能的攻略

下一篇:简笔英文怎么读?