首页 > 其他分享 >差分

差分

时间:2024-07-22 13:29:24浏览次数:11  
标签:insert y2 int 差分 x2 y1 x1

//洛谷p2367语文成绩
一维差分

#include<iostream>
using namespace std;
const int N = 10000010;
int a[N], b[N];
int n;
int p;
void insert(int l, int r, int c) {
	b[l] += c;
	b[r + 1] -= c;
}

int main() {
	cin >> n >> p;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		insert(i, i, a[i]);//初始化b数组 a[k]=b[1]+b[2]+b[]+...+b[k]
	}
	while(p--){
		int x, y, z;
		cin >> x >> y >> z;
		insert(x, y, z);
	}
	for (int i = 1; i <= n; i++) {
		b[i] += b[i - 1];//将b数组变成自己的前缀和
	}
	//如果用其他数组存s[i]=s[i-1]+a[i];
	int tmp = b[1];
	
	for (int i = 2; i <= n; i++) {
		if (tmp > b[i])tmp = b[i];
	}
	cout << tmp;
}

//洛谷p3397地毯
二维差分

#include<iostream>
using namespace std;

const int N=10010;
int n, m;
int a[N][N], b[N][N];

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

int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			insert(i, j, i, j, a[i][j]);
		}
	}
	while (m--) {
		int x1, y1, x2, y2;
		cin >> x1 >> y1 >> x2 >> y2 ;
		insert(x1, y1, x2, y2, 1);
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			b[i][j] = b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1] + b[i][j];
		}
	}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++) {
			cout << b[i][j]<<' ';
		}
		cout << endl;
	}
}

标签:insert,y2,int,差分,x2,y1,x1
From: https://www.cnblogs.com/windzhao6/p/18315832

相关文章

  • 【图论】【模板】差分约束系统
    差分约束系统差分约束系统是将不等式组的问题转化为图论问题。前置知识判断负环例题P5960【模板】差分约束算法思路我们将\(x_u-x_v\ley_u\)换为\(x_u\lex_v+y_u\)。然后我们建立一条连接\(v,u\)(注意是\(v,u\)不是\(u,v\))权值为\(y_u\)的边。我们发......
  • 算法基础课第一章(中)高精度+前缀和+差分
    一、高精度(一)使用高精度的原因在计算机中处理非常大或非常小的数值时,确保计算结果的精确性和准确性。在特定情况下,可以自己实现高精度计算的数据结构和算法,例如使用字符串或数组来表示大数,并实现基本的加、减、乘、除操作。(二)高精度加法1、方法(1)描述:从最低位开始加法计算......
  • 高速计数模块(差分)在软件组态说明
    本章主要介绍XD系列远程IO的适配器配合IO模块与目前工业主流PLC配置1、通信连接图,如图5-1所示。图5-1通信连接图2、硬件配置如表5-1所示3、安装XML描述文件安装XML描述文件到TwinCAT3中,如图5-2所示。示例默认文件夹为(C:\TwinCAT\3.1\Config\Io\EtherCAT)图5-2安装XML......
  • XD5012高速计数模块(差分)功能与选型及安装说明
    Profinet远程IO模块:XD5012高速计数模块(差分)功能与安装说明XD5012高速计数模块(差分)具有出色的计数功能,能够快速而精确地统计输入信号的数量。无论是频率计数、脉冲宽度测量还是时间测量,都能够轻松完成。这给各种应用场景提供了极大的便利,比如工业自动化控制。 本文将详细介绍X......
  • [差分约束]
    差分约束定义差分约束系统是一种特殊的\(n\)元一次不等式组,它包含\(n\)个变量\(x_1,x_2,\dots,x_n\)以及\(m\)个约束条件,每个约束条件是由两个其中的变量做差构成的,形如\(x_i-x_j≤C_k\)或者\(x_i-x_j≥C_k\)其中\(1≤i,j≤n,1≤k≤m\)做法假如有式子\[\left\{\begin{matri......
  • 前缀和 & 差分
    前缀和一维前缀和一维前缀和主要用于计算任意区间的元素和。计算前缀和sum[i]=sum[i-1]+a[i];计算区间[l,r]的元素和s=sum[r]-sum[l-1];二维前缀和二维前缀和是一种用于快速计算二维数组中任意子矩阵元素之和。//计算矩阵的前缀和s[x][y]=s[x-1......
  • 电工电子实验报告——差分放大器的测试方法
    差分放大器实验目的1.熟悉差动放大器电路的组成原理及用途;2.掌握差动放大器静态参数的测量方法;3.掌握差动放大器动态参数(差模放大倍数Aud,共模放大倍数Auc,共模抑制比KCMR)的测试方法:4.掌握带恒流源差动放大电路的调试方法。主要仪器设备及软件硬件:双踪示波器......
  • 改进的多目标差分进化算法在电力系统环境经济调度中的应用(Python代码实现)【电气期刊论
     目录 1电力系统环境经济调度数学模型电力系统环境经济调度问题概述多目标差分进化算法的应用应用研究的意义2  改进的多目标差分进化算法3Python代码实现3.1结果3.2Python代码 4完整Python代码、数据下载   改进的多目标差分进化算法不仅可以应用......
  • 改进的多目标差分进化算法在电力系统环境经济调度中的应用(Python代码实现)【电气期刊论
     目录 1电力系统环境经济调度数学模型电力系统环境经济调度问题概述多目标差分进化算法的应用应用研究的意义2  改进的多目标差分进化算法3Python代码实现3.1结果3.2Python代码 4完整Python代码、数据下载   改进的多目标差分进化算法不仅可以应用......
  • 前缀和与差分
    前缀和与差分的联系前缀和与差分就是一个互逆的过程,前缀和数组反映了从头到i的差分数组的和,差分数组体现了前缀和数组相邻的变化量。矩阵前缀差分的理解可以根据矩形面积来理解前缀和#include<iostream>usingnamespacestd;constintN=1e5+10;intn,m;int......