【全】差分模板

news/2024/11/20 10:36:47/

文章目录

  • 一维差分
  • 二维差分

一维差分

#include

using namespace std;
const int N = 1e5 + 10;
int s[N], a[N];

void insert(int l, int r, int x){
a[l] += x;
a[r + 1] -= x;
}

int main(){
int n, m;
cin >> n >> m;

for (int i = 1; i <= n; i ++){cin >> s[i];insert(i, i, s[i]);
} while(m --){int l, r, c;cin >> l >> r >> c;insert(l, r, c);
}for (int i = 1; i <= n; i ++){s[i] = a[i] + s[i - 1];cout << s[i] << ' ';
}

}

二维差分

#include <iostream>using namespace std;
const int N = 1010;
int s[N][N], a[N][N];void insert(int x1, int y1, int x2, int y2, int x){a[x1][y1] += x;a[x2+1][y1] -= x;a[x1][y2+1] -= x;a[x2+1][y2+1] += x;
}
int main(){int n, m, q;cin >> n >> m >> q;for (int i = 1; i <= n; i ++){for (int j = 1; j <= m; j ++){cin >> s[i][j];insert(i,j,i,j,s[i][j]);}}while(q --){int x1, y1, x2, y2, x;cin >> x1 >> y1 >> x2 >> y2 >> x;insert(x1, y1, x2, y2, x);}for (int i = 1; i <= n; i ++){for(int j = 1; j <= m; j ++){s[i][j] = a[i][j] + s[i-1][j] + s[i][j-1] - s[i-1][j-1];cout << s[i][j] << ' ';}cout << endl;}return 0;
}

http://www.ppmy.cn/news/1127481.html

相关文章

如何快速做跨业务测试?

当业务任务多且人力资源不充足的情况下&#xff0c;不同业务的同学可能需要去不同的业务进行临时支援&#xff0c;可能在时间方面有长有短&#xff0c;但是如何迈出第一步是很多人需要关心的一件事。 本文以实际跨业务测试经验&#xff08;订单业务测试人员如何测试售后业务&a…

Java括号匹配

目录 一、题目描述 二、题解 一、题目描述 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭…

3秒钟解析超买超卖和Renko图表关系

不管是刚进入市场中的外汇新手&#xff0c;还是已经在外汇市场中赚的盆满钵满&#xff0c;只要还是外汇市场中的一份子&#xff0c;一定在不止一次听说过超买和超卖。今天FPmarkets澳福和各位投资者一起探讨超买超卖和Renko图表的关系。 超买在FPmarkets看来就是指大部分市场参…

JavaScript面试题整理(二)

数据类型篇 13、其他值到字符串的转换规则&#xff1f; Null和Undefined类型&#xff0c;null转换为‘null’&#xff0c;undefined转换为‘undefined’Boolean类型&#xff0c;true转换为‘true’&#xff0c;false转换为‘false’Number类型的值直接转换&#xff0c;不过那…

vscode快捷生成html标签

vscode快捷生成代码片段 ul>li*2.silder会生成如下代码片段 再或者 ul>li*6.silder>p.silder$会生成如下代码片段 如果页面中涉及到上面这种情况的代码块的时候可以使用这种方法快捷生成对应的代码块

2023_Spark_实验七:Scala函数式编程部分演示

1、Scala中的函数 在Scala中&#xff0c;函数是“头等公民”&#xff0c;就和数字一样。可以在变量中存放函数&#xff0c;即&#xff1a;将函数作为变量的值&#xff08;值函数&#xff09;。 def myFun1(name:String):String"Hello " nameprintln(myFun1("…

【GDB】自定义命令

.gdbinit 文件的使用 gdb自定义命令 自定义命令格式 define <command> <code> end document <command> <help text> end示例 .gdbinit 脚本中输入如下内容 layout asm b 5define print-tyustliecho hello, world\n enddocument print-tyustliusage…

MATLAB 与 Cruise 的联合仿真

文章目录 检查matlab是否安装了编译器在 MATLAB 中添加路径联合仿真示例 检查matlab是否安装了编译器 第一步&#xff0c;先检查matlab是否安装了编译器&#xff1a; 关于编译器的配置&#xff0c;可以查看&#xff1a; https://blog.csdn.net/chengkai730/article/details/1…