蓝桥杯每日一题:空调(差分)

Farmer John 的 N头奶牛对他们牛棚的室温非常挑剔。

有些奶牛喜欢温度低一些,而有些奶牛则喜欢温度高一些。

Farmer John 的牛棚包含一排 N个牛栏,编号为 1…N,每个牛栏里有一头牛。

第 i� 头奶牛希望她的牛栏中的温度是 pi,而现在她的牛栏中的温度是 ti。

为了确保每头奶牛都感到舒适,Farmer John 安装了一个新的空调系统。

该系统进行控制的方式非常有趣,他可以向系统发送命令,告诉它将一组连续的牛栏内的温度升高或降低 11 个单位——例如「将牛栏 5…85…8 的温度升高 11 个单位」。

一组连续的牛栏最短可以仅包含一个牛栏。

请帮助 Farmer John 求出他需要向新的空调系统发送的命令的最小数量,使得每头奶牛的牛栏都处于其中的奶牛的理想温度。

输入格式

输入的第一行包含 N。

下一行包含 N 个非负整数 p1…pN,用空格分隔。

最后一行包含 N 个非负整数 t1…tN。

输出格式

输出一个整数,为 Farmer John 需要使用的最小指令数量。

数据范围

1≤N≤10^5,
0≤pi,ti≤100000

输入样例:
5
1 5 3 3 4
1 2 2 2 1
输出样例:
5
样例解释

一组最优的 Farmer John 可以使用的指令如下:

初始温度     :1 2 2 2 1
升高牛棚 2..5:1 3 3 3 2
升高牛棚 2..5:1 4 4 4 3
升高牛棚 2..5:1 5 5 5 4
降低牛棚 3..4:1 5 4 4 4
降低牛棚 3..4:1 5 3 3 4

参考代码:

/*
给定数组a,b,进行m次操作使得两数组相等。
p = a-b,d为p的差分数组。
可以理解为将数组p变为全0的操作次数,每次操作为1。
可以转换为差分,对于p的差分数组d每次对于两个数+1,和-1。最后使得数组全为0;
等价于统计d数组中>0的数pos与<0的数neg求出最大值。
d为差分数组每次要同时改变两个数使其一个+1,一个-1。
若正数全部归零,剩余的让负数和n后的数字做交换。
*/
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;
const int N = 1e5+10;
int a[N],b[N];
int n;int main()
{cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++){cin>>b[i];a[i] -= b[i];}for(int i=n;i>0;i--) a[i] -= a[i-1];int pos = 0,neg = 0;for(int i=1;i<=n;i++){if(a[i]>0) pos += a[i];else neg -= a[i];}printf("%d\n",max(pos,neg));return 0;
}

 

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

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

相关文章

在Visual Studio Code中编辑React项目时,以下是一些推荐的扩展

ESLint&#xff1a;这个扩展可以集成ESLint到VS Code中&#xff0c;帮助你在编写代码时发现和修复JavaScript和TypeScript的语法错误和代码风格问题。 Prettier - Code formatter&#xff1a;Prettier是一个代码格式化工具&#xff0c;可以自动格式化你的代码以保持一致的代码…

最长公共子序列、最长上升子序列(LCS与LIS)算法

最长公共子序列、最长上升子序列(LCS与LIS) 最长公共子序列(LCS) #include <bits/stdc.h> using namespace std; #define int long long const int N 1e39; int a[N],b[N],dp[N][N]; signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n,m;cin>>…

大文件传输之为啥传输过程中出现宽带不足的情况

在当今数字化时代&#xff0c;大文件传输已成为企业日常运营的关键环节。然而&#xff0c;许多企业在传输大文件时经常面临宽带不足的问题&#xff0c;这不仅影响了工作效率&#xff0c;还可能导致业务机会的丧失。本文将探讨大文件传输过程中宽带不足的原因&#xff0c;以及镭…

【数据结构】稀疏矩阵的快速转置

【数据结构】稀疏矩阵的转置&#xff08;普通转置 和 快速转置&#xff09; 目录 【数据结构】稀疏矩阵的转置&#xff08;普通转置 和 快速转置&#xff09;三元表稀疏矩阵的转置方法一&#xff08;普通转置&#xff09;复杂度为O(T.muT.nu)方法二&#xff1a;快速转置 复杂度…

springboot的特点以及优缺点

什么是springboot Spring Boot是一个开源的Java框架,用于创建独立的、基于Spring的应用程序。它简化了Spring应用程序的配置和部署过程,并提供了自动配置的功能,让开发人员能够更专注于业务逻辑的实现,而不需要过多地关注配置问题。 Spring Boot内置了一些常见的第三方库和…

【2024年5月】如何高效寻找软考高级论文素材?

一、自己做过的项目 若自己有做过的项目&#xff0c;那就是最好的&#xff01;建议不要换其他的项目来写&#xff0c;优先选择自己的&#xff0c;毕竟熟悉&#xff0c;容易临场发挥&#xff0c;别人的项目没有参与过&#xff0c;无法深有体会。 二、各大期刊网站 包括中国知…

mysql使用datetime,java如何保存

CREATE TABLE user (省略部分代码create_time datetime NOT NULL COMMENT 创建时间省略部分代码)java class User {private Timestamp createTime; }java8 import java.sql.Timestamp;省略部分代码 LocalDateTime now LocalDateTime.now(); // 获取当前日期时间 Timestamp t…

朝花夕拾 - 写在 29

人间一趟&#xff0c;积极向上&#xff01; 乘生日还有个小尾巴&#xff0c;写篇文章结个尾。 一、时间断层 众所周知我是个很喜欢分享的人&#xff0c;所以在 2023 年尾到现在一直没分享&#xff1a; 要么我懒劲犯了要么我真太忙了 罗列下需要补充分享的帖子&#xff1a; 202…

聚道云软件连接器助力企业实现CRM与税票系统对接,提升财务管理效率

一、客户介绍&#xff1a;行业翘楚&#xff0c;寻求数字化升级 某企业作为行业内的佼佼者&#xff0c;始终站在市场前沿&#xff0c;不断探索数字化转型的新路径。近年来&#xff0c;随着业务规模的扩大&#xff0c;该企业对于客户关系管理&#xff08;CRM&#xff09;与税务电…

数据分析python代码——数据填充

在Python中&#xff0c;我们通常使用pandas库来处理和分析数据。数据填充是数据预处理的一个重要步骤&#xff0c;用于处理数据中的缺失值。以下是使用pandas库进行数据填充的示例代码&#xff1a; 在数据分析中&#xff0c;处理缺失值&#xff08;空值&#xff09;是一个重要…

面试经典150题——删除有序数组中的重复项

面试经典150题 day3 题目来源我的题解方法一 双指针 题目来源 力扣每日一题&#xff1b;题序&#xff1a;26 我的题解 方法一 双指针 使用两个指针分别指向相同元素的左右边界&#xff0c;再利用一个count记录最终需要的数组长度。 时间复杂度&#xff1a;O(n) 空间复杂度&a…

AI预测体彩排3第1弹【2024年4月12日预测--第1套算法开始计算第1次测试】

前面经过多个模型几十次对福彩3D的预测&#xff0c;积累了一定的经验&#xff0c;摸索了一些稳定的规律&#xff0c;有很多彩友让我也出一下排列3的预测结果&#xff0c;我认为目前时机已成熟&#xff0c;且由于福彩3D和体彩排列3的玩法完全一样&#xff0c;我认为3D的规律和模…

【竞技宝】LOL:bin卡牌完美牵制 BLG击败TES晋级春决

北京时间2024年4月12日,英雄联盟LPL2024春季季后赛继续进行,昨天迎来四强赛胜者组决赛BLG对阵TES。本场比赛双方前几局有来有回战至2-2平,决胜局bin的上单卡牌中期完美牵制了TES,后期孤身一人偷家成功,最终BLG3-2击败TES晋级春决。以下是本场比赛的详细战报。 第一局: 首局比赛…

第7章、ReactRedux 实战 - 登录注册验证;

一、登录注册认证系统课程介绍&#xff1b; 二、搭建前端环境&#xff1b; 三、搭建后端环境&#xff1b; 四、页面与路由搭建&#xff1b; 五、实现注册页面&#xff1b; 六、使用axios发送请求&#xff1b; 七、后端验证数据&#xff1b; 八、前端显示表单验证错误&am…

数字乡村可视化大数据-DIY拖拽式设计

DIY拖拽式大数据自由设计万村乐可视化大数据V1.0 随着万村乐数字乡村系统的广泛使用&#xff0c;我们也接收到了客户的真实反馈&#xff0c;最终在公司的决定下&#xff0c;我们推出了全新的可视化大数据平台V1.0版本&#xff0c;全新的可视化平台是一个通过拖拽配置生成可视化…

mybatis报错无法update数据

报错信息&#xff1a; org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named null in class com.feishu.commute.pojo.entity.ZzzHrOaQingJia 显示映射的某个属性名字为…

网络流量分析与控制

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计5477字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

爬虫现在还有那么吃香嘛?

Python 作为一种广泛应用的编程语言&#xff0c;在 Web 开发、大数据开发、人工智能开发和嵌入式开发等领域都有着重要的应用。 Python 的易学性、清晰性和可移植性等特点使它得到很多技术人士的喜爱。对于数据科学和机器学习领域的程序员来说&#xff0c;Python 提供了强大的…

YOLOV5 分类:利用yolov5进行图像分类

1、前言 之前介绍了yolov5的目标检测示例,这次将介绍yolov5的分类展示 目标检测:YOLOv5 项目:训练代码和参数详细介绍(train)_yolov5训练代码的详解-CSDN博客 yolov5和其他网络的性能对比 yolov5分类的代码部分在这 2、数据集准备 yolov5分类的数据集就是常规的摆放方式…