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;
}
相关推荐
for_ever_love__19 小时前
线性代数入门——向量、矩阵与点积,Transformer 的运算本质
线性代数·矩阵·transformer
打工仔折腾 AI19 小时前
从零写一个CAD 05:以鼠标为中心的滚轮缩放矩阵顺序不能反
后端·python·线性代数·性能优化·矩阵·计算机外设·ai agent 实战
黑妹天下第一乖2 天前
第 04 讲:阿加犀 AIMO 模型优化平台与 Model Farm 模型广场实战
人工智能·嵌入式硬件·矩阵·架构·iot
hai3152475432 天前
语言学矩阵原理
人工智能·机器学习·矩阵
hai3152475433 天前
文本矩阵化拆解与视频矩阵化构建
线性代数·矩阵·音视频
Godspeed Zhao3 天前
现代智能雷达技术14——算法(0)
线性代数·算法·雷达
蝶依斓(湖南)全案整装4 天前
整装行业长尾需求内容矩阵搭建方法:从五个维度拆解用户需求
大数据·人工智能·矩阵
梦帮科技4 天前
推测解码(Speculative Decoding)与 Draft-Target 双核协同:接受率判据、树状验证与两倍吞吐无损加速
网络·人工智能·深度学习·神经网络·线性代数·矩阵·架构
xqqxqxxq5 天前
LeetCode Hot100 矩阵专题题解笔记
笔记·leetcode·矩阵
Dylan的码园5 天前
求平均成绩 矩阵数据处理 【循环处理 二维数组】
c++·线性代数·矩阵