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;
}
相关推荐
DogDaoDao11 小时前
【预备理论知识——2】深度学习:线性代数概述
人工智能·深度学习·线性代数
quaer12 小时前
Open-Sora全面开源?
开发语言·算法·机器学习·matlab·矩阵
winds~14 小时前
数学基础-向量投影
线性代数
roman_日积跬步-终至千里1 天前
【线性代数】【第一章】行列式习题
线性代数
sml_54211 天前
【笔记】连续、可导、可微的概念解析
笔记·线性代数
吱吱鼠叔1 天前
MATLAB数据文件读写:2.矩阵数据读取
数据库·matlab·矩阵
￴ㅤ￴￴ㅤ9527超级帅1 天前
LeetCode hot100---数组及矩阵专题(C++语言)
c++·leetcode·矩阵
海涛高软1 天前
osg 矩阵相关
线性代数·矩阵
herobrineAC2 天前
以矩阵的视角解多元一次方程组——矩阵消元
线性代数·矩阵
annesede3 天前
线性代数复习笔记
笔记·线性代数