P2367 语文成绩和P5542 Painting The Barn S(一维和二维差分)

news2024/9/25 9:30:37

目录

前言

一、P2367 语文成绩

二、P5542 Painting The Barn S



前言

图文详解一维差分

图文详解二维差分

一、P2367 语文成绩

题目背景

语文考试结束了,成绩还是一如既往地有问题。

题目描述

语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行。她总是要一遍遍地给某些同学增加分数,又要注意最低分是多少。你能帮帮她吗?

输入格式

第一行有两个整数 n,p,代表学生数与增加分数的次数。

第二行有 n 个数,a1 ~ an,代表各个学生的初始成绩。

接下来 p 行,每行有三个数,x,y,z,代表给第 x 个到第 y 个学生每人增加 z 分。

输出格式

输出仅一行,代表更改分数后,全班的最低分。

样例输入 1

3 2
1 1 1
1 2 1
2 3 1 

样例输出 1

说明/提示

对于 100% 的数据,有 n <= 5 x 10^6,p <= n,学生初始成绩 <= 100,z <= 100。

代码实现

#include <stdio.h>

#define MAX 5000000

int a[MAX + 1];  // 不使用下标为 0 的元素
int d[MAX + 2];  // 不使用下标为 0 的元素

int main()
{
	int n = 0, p = 0;
	scanf("%d %d", &n, &p);
	int i = 0;
	// 输入学生的初始成绩
	for (i = 1; i <= n; i++)
	{
		scanf("%d", &a[i]);
	}
	// 初始化差分数组
	for (i = 1; i <= n; i++)
	{
		d[i] = a[i] - a[i - 1];
	}
	// 对学生的成绩调整 p 次
	while (p--)
	{
		int x = 0, y = 0, z = 0;
		scanf("%d %d %d", &x, &y, &z);
		d[x] += z;
		d[y + 1] -= z;
	}
	// 计算差分数组的前缀和,即原数组 a
	int min = 101;
	for (i = 1; i <= n; i++)
	{
		a[i] = a[i - 1] + d[i];
		if (a[i] < min)
			min = a[i];
	}
	printf("%d\n", min);
	return 0;
}

 

二、P5542 Painting The Barn S

题目描述

农夫约翰不擅长多任务处理。他经常分心,很难完成长的项目。目前,他正试图在谷仓的一侧上漆,但他一直在画小矩形区域,然后由于照料奶牛的需要而偏离了方向,使得谷仓的某些部分上漆的涂料比其他部分多。

我们可以将谷仓的一侧描述为一个二维 x-y 平面,农夫约翰在该平面上绘制 n 个矩形,每个矩形的边都与坐标轴平行,每个矩形由谷仓的左下角和右上角点的坐标描述

农夫约翰想在谷仓上涂几层油漆,这样在不久的将来就不需要再重新粉刷了。但是,他不想浪费时间涂太多的油漆。结果表明,K 涂层是最佳用量。请在他画完所有的长方形后,帮他确定谷仓有多少面积被 K 层油漆覆盖。

输入格式

输入的第一行包含 n 和 k(1 ≤ k ≤ n ≤ 100000)。其余n行中的每一行包含四个整数 x1、y1、x2、y2,描述正在绘制的矩形区域,左下角(x1、y1)和右上角(x2、y2)。所有 x 和 y 值都在 0…1000 范围内,并且所有矩形都有正面积。

输出格式

请输出谷仓被K层油漆覆盖的区域。

样例输入 1

3 2
1 1 5 5
4 4 7 6
3 3 8 7 

样例输出 1

代码实现

#include <stdio.h>

int a[1001][1001];  // 不使用下标为 0 的元素
int d[1002][1002];  // 不使用下标为 0 的元素

int main()
{
	int n = 0, k = 0;
	scanf("%d %d", &n, &k);
	while (n--)
	{
		int x1 = 0, y1 = 0, x2 = 0, y2 = 0;
		scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
		x1 = x1 + 1;
		y1 = y1 + 1;
		d[x1][y1] += 1;
		d[x2 + 1][y1] -= 1;
		d[x1][y2 + 1] -= 1;
		d[x2 + 1][y2 + 1] += 1;
	}
	int cnt = 0;  // 计数器
	for (int i = 1; i <= 1000; i++)
	{
		for (int j = 1; j <= 1000; j++)
		{
			a[i][j] = a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1] + d[i][j];
			if (a[i][j] == k)
				cnt++;
		}
	}
	printf("%d\n", cnt);
	return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/130088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于C语言中内存分配

一、static在C语言里面可以用来修饰变量&#xff0c;也可以用来修饰函数。 1、 先看用来修饰变量的时候。变量在C语言里面可分为存在全局数据区、栈和堆里。 其实我们平时所说的堆栈是栈而不是堆&#xff0c;不要弄混。 例如&#xff1a;在file.c中 int a ; int main() { int b…

如何在 Python 中自动化处理 Excel 表格?

考虑一个场景&#xff0c;要求在网站上为 30,000 名员工创建一个帐户。手动重复执行此任务会非常枯燥乏味。此外&#xff0c;这将花费太多时间&#xff0c;这不是一个明智的决定。 现在想象一下从事数据输入工作的员工的生活。他们的工作是从 Excel 表格中获取数据并将其插入其…

CSS 实现灯笼动画,祝大家元旦快乐

前言 &#x1f44f;CSS 实现大红灯笼动画&#xff0c;祝大家元旦快乐&#xff0c;2023越来越棒&#xff01;速速来Get吧~ &#x1f947;文末分享源代码。记得点赞关注收藏&#xff01; 1.实现效果 2.实现步骤 定义一个灯笼的背景色bg&#xff0c;线条颜色lineColor :root …

数字时代下, 企业如何保证数据的安全

随着全球数字化进程的蓬勃发展&#xff0c;在互联网时代下技术和数据深度融合的数字经济模式为许多行业带来了更大创收。数据也已经成为了五大核心生产要素之一&#xff0c;驱动着国家、社会、企业全方位高速发展。“迎接数字时代&#xff0c;激活数据要素潜能&#xff0c;推进…

四、 Spring-MVC

MVC MVC &#xff1a;Model View Controller&#xff0c;是模型(model)&#xff0d;视图(view)&#xff0d;控制器(controller)的缩写&#xff0c;一种软件设计规范。本质上也是一种解耦。 Model&#xff08;模型&#xff09;是应用程序中用于处理应用程序数据逻辑的部分。通常…

使用CLIP构建视频搜索引擎

CLIP(Contrastive Language-Image Pre-training)是一种机器学习技术&#xff0c;它可以准确理解和分类图像和自然语言文本&#xff0c;这对图像和语言处理具有深远的影响&#xff0c;并且已经被用作流行的扩散模型DALL-E的底层机制。在这篇文章中&#xff0c;我们将介绍如何调整…

再获权威认可 百分点科技入选Forrester AI/ML平台主流供应商

近日&#xff0c;全球领先的研究和咨询公司Forrester发布了2022年第四季度中国AI/ML&#xff08;人工智能/机器学习&#xff09;平台报告《The AI/ML Platform Landscape In China, Q4 2022》&#xff0c;系统分析了AI/ML平台市场的业务价值、市场成熟度及市场动态&#xff0c;…

python基础语法24-多线程实操

上一节说了多线程的理论知识,今天来实际操作一下。 1.创建线程 python中有2中方法创建线程,分别为函数和类继承 (1).使用函数来创建线程 调用 _thread 模块中的start_new_thread()函数来产生新线程。语法如下: _thread.start_new_thread ( function, args[, kwargs] ) 参数说…

保护小程序,防止反编译:打造不怕反编译的小程序

保护小程序&#xff0c;防止反编译 打造不怕反编译的小程序 这几年,小程序、小游戏&#xff0c;非常火。 业内人都知道&#xff0c;小程序或小游戏&#xff0c;就是H5应用&#xff0c;就是htmlJS。这类应用&#xff0c;反编译很容易&#xff0c;网上就有很多方法教程。 对小…

我坦白→低代码功能我有,SQL练习题、数据可视化、数据填充助你高效

简介 今天勇哥看了一下群里的聊天信息&#xff0c;大家都在说低代码平台&#xff0c;见大家对于低代码这么热衷的情况下&#xff0c;勇哥也不藏着掖着了&#xff0c;先放几个低代码功能出来&#xff0c;给大家玩一玩&#xff0c;更多的功能敬请期待。 帮勇哥投个票&#xff1…

Docker进阶 — 一文掌握Docker基础

Docker进阶 — 一文掌握Docker基础 文章目录Docker进阶 --- 一文掌握Docker基础一、初识 Docker1. 什么是Docker2. Docker架构3. DockerHub4. Docker运行模式5. Docker和虚拟机的区别二、Docker 的安装1. Linux安装Docker2. Window 安装Docker环境配置1. 开启 Hyper-V服务2. 安…

五款炫酷精美动态登录页面,彩虹气泡动态云层深海灯光水母炫酷星空蛛网HTMLCSS源码

完整源码详见 微信公众号&#xff1a;创享日记 对话框发送&#xff1a;登录页面 获取HTMLCSSjs等源码文件 一、彩虹气泡登录页面 效果图&#xff1a; HTML源码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-…

linux 下coredump 生成及调试分析

Windows环境崩溃问题&#xff08;dump&#xff09;可根据vs调试或windbg工具查看.linux环境崩溃文件为core文件&#xff0c;可以使用gdb进行调试分析。 前提&#xff1a;都是都是用了root权限的用户操作。 1.生成core文件的前提 产生coredump的条件&#xff0c;首先需要确认…

优化改进YOLOv5算法之添加RepVGG模块(超详细)

在前面的文章中已经详细介绍了在本机上安装YOLOv5的教程&#xff0c;安装YOLOv5可参考前面的文章YOLOv5训练自己的数据集(超详细)https://blog.csdn.net/qq_40716944/article/details/118188085 目录 1、RepVGG原理 1.1 模型定义 1.2 为什么要用VGG式模型 1.3 结构重参数化…

基于ssm+mysql+jsp实现水果蔬菜商城系统

基于ssmmysqljsp实现水果商城系统一、系统介绍1、系统主要功能&#xff1a;2、环境配置二、功能展示1.主页(客户)2.登陆&#xff08;客户&#xff09;3.我的购物车(客户)4.我的订单&#xff08;客户&#xff09;5.主页&#xff08;管理员&#xff09;6.订单管理&#xff08;管理…

python寻找男厕所小便池的最佳站位

题目描述 相信我&#xff0c;每一个人内在都是有精神洁癖的。尤其是在题目所在的场景中。 下面我们就用一个算法来衡量一下&#xff01;&#xff01;&#xff01; 在考场里&#xff0c;一排有 N 个座位&#xff0c;分别编号为 0, 1, 2, …, N-1 。 当学生进入考场后&#xff0…

Python利用pandas读取Excel某列为键某几列为列表类型的值

在日常的办公中&#xff0c;我们经常要处理表格之间的数据匹配&#xff0c;会经常用到VLOOKUP函数&#xff0c;那么在Python中可以把VLOOKUP函数转换为字典&#xff0c;在转换成本地json文件&#xff0c;这样不仅可以匹配大批量数据&#xff0c;而且速度也会变快。 今天我们要…

第二十六讲:神州路由器PPP PAP认证的配置

实验拓扑图如下所示 操作步骤&#xff1a; 步骤1&#xff1a;连接网络拓扑图。 步骤2&#xff1a;RouterA基本配置。 router>enable &#xff01;进入特权模式 router#config &#xff01;进入全局配置模式 router_config#hostname RouterA …

移植RT-thread Nano完成一个 modbus接口的温湿度Slave设备,让上位机PC通过modbus协议获取温湿度

文章目录前言一、移植RT-thread Nano1、STM32CubeMX 安装 RT-Thread2、Keil安装RT-Thread二、STM32CubeMX 创建工程1.添加RT-Thread组件2、配置项目三、keil配置1、ANT20配置2、移植freeModebusRTU3、代码配置四、总结五、参考资料前言 硬件&#xff1a;stm32f103c8t6 核心板软…

springcloud+nacos+gateway+oauth2+jwt再相聚

在springcloud微服务架构下&#xff0c;如何进行统一的认证、鉴权&#xff0c;一直是大家非常关心的问题&#xff0c;下面对微服务架构下的认证和鉴权继续聊聊&#xff0c;一是自己的再次思考总结&#xff0c;二是希望对小伙伴有所帮助。 1、方案思路 在springcloud微服务中&am…