2023-8-15差分矩阵

题目链接:差分矩阵

c++ 复制代码
#include <iostream>

using namespace std;

const int N = 1010;

int n, m, q;
int a[N][N], b[N][N];

void insert(int x1, int y1, int x2, int y2, int c)
{
    b[x1][y1] += c;
    b[x1][y2 + 1] -= c;
    b[x2 + 1][y1] -= c;
    b[x2 + 1][y2 + 1] += c;
}

int main()
{
    scanf("%d%d%d", &n, &m, &q);
    for(int i = 1; i <= n; i ++)
        for(int j = 1; j <= m; j ++)
            scanf("%d", &a[i][j]);
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= m; j++)
            insert(i, j, i, j, a[i][j]);
    while(q --)
    {
        int x1, y1, x2, y2, c;
        scanf("%d%d%d%d%d", &x1, &y1, &x2, &y2, &c);
        insert(x1, y1, x2, y2, c);
    }
    
    // 构造前缀和
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= m; j ++)
            b[i][j] += b[i][j - 1] + b[i - 1][j] - b[i - 1][j - 1];
    for(int i = 1; i <= n; i ++)
    {    
        for(int j = 1; j <= m; j++) printf("%d ", b[i][j]);
        puts("");
    }        
    return 0;
}
相关推荐
covco7 小时前
分布式架构实战:全平台矩阵管理系统的技术实现与性能优化
分布式·矩阵·架构
三维重建-光栅投影11 小时前
线性代数之超定方程使用最小二乘求解
人工智能·线性代数
森屿~~13 小时前
CMA-ES:从搜索分布自适应到协方差矩阵学习
学习·elasticsearch·矩阵
covco14 小时前
全域矩阵运营系统多租户权限体系架构设计与轻量化落地实践
微服务·矩阵·权限管控
三维重建-光栅投影17 小时前
最小二乘中的矩阵求导基础总结
线性代数·机器学习·矩阵
covco18 小时前
AI 原生营销矩阵系统:分布式架构设计与核心模块实现
人工智能·分布式·矩阵
covco18 小时前
中小团队短视频矩阵落地难点与轻量化技术解决方案
矩阵
小雅痞18 小时前
[Java][Leetcode middle] 73. 矩阵置零
java·leetcode·矩阵
star learning white20 小时前
线性代数5
线性代数
洛水水2 天前
【力扣100题】23. 螺旋矩阵
算法·leetcode·矩阵