【蓝桥杯集训·每日一题2025】 AcWing 5526. 平衡细菌 python

server/2025/3/7 5:30:27/



AcWing 5526. 平衡细菌

Week 3
3月4日

题目描述

农夫约翰有 N N N 块草地排成一行,其中草地 i i i 的细菌水平与健康草的细菌水平相差 a i a_i ai

例如,如果 a i = − 3 a_i=−3 ai=3,则草地 i i i 的细菌水平比正常水平低 3 3 3,需要额外添加恰好 3 3 3 个单位的细菌才能将其提高到被认为是健康的程度。

农夫约翰想要确保每一块草地都被修复至健康的细菌水平。

方便的是,他有两种品牌的农药可以喷洒在他的田地里,一种可以添加细菌,另一种可以去除细菌。

当农夫约翰喷洒任一类型的农药时,他站在草地 N N N(最右边的草地)并为他的喷雾器选择功率等级 L L L 1 ≤ L ≤ N 1 \le L \le N 1LN)。

喷雾器对靠近农夫约翰的草地效果最大,随着距离增加效果逐渐减弱。

如果农夫约翰选择添加细菌的农药,则 L L L 单位的细菌将被添加至草地 N N N L − 1 L−1 L1 单位添加至草地 N − 1 N−1 N1 L − 2 L−2 L2 单位添加至草地 N − 2 N−2 N2,以此类推。

草地 1 … N − L 1…N−L 1NL 不会得到任何细菌,因为喷雾器设置的功率不足以到达它们。

类似地,如果农夫约翰选择去除细菌的农药,则 L L L 单位的细菌将被从草地 N N N 去除, L − 1 L−1 L1 单位被从草地 N − 1 N−1 N1 去除,以此类推。

同样,草地 1 … N − L 1…N−L 1NL 将不受影响。

求农夫约翰使用喷雾器的最少次数,使得每块草地都具有健康草的推荐细菌值。

输入保证答案不超过 1 0 9 10^9 109

输入格式

输入的第一行包含 N N N

第二行包含 N N N 个整数 a 1 … a N a_1…a_N a1aN,为每块草地的初始细菌水平。

输出格式

输出一个整数,为使每块草地都具有健康草的推荐的细菌值所需使用喷雾器的最少次数。

数据范围

1 ≤ N ≤ 2 × 1 0 5 1 \le N \le 2 \times 10^5 1N2×105,
− 1 0 15 ≤ a i ≤ 1 0 15 -10^{15} \le a_i \le 10^{15} 1015ai1015

输入样例1:
2
-1 3
输出样例1:
6
样例1解释

使用去除细菌的农药,功率等级为 1 1 1,使用五次。

然后使用添加细菌的农药,功率等级为 2 2 2,使用一次。

输入样例2:
5
1 3 -2 -7 5
输出样例2:
26

等差数列差分


AC_code

python">n = int(input())  
a = list(map(int, input().split()))  diff = [0] * n  
diff[0] = a[0]  
for i in range(1, n):  diff[i] = a[i] - a[i - 1]  diff2 = [0] * n  
diff2[0] = diff[0]  
for i in range(1, n):  diff2[i] = diff[i] - diff[i - 1]  ans = 0  
for i in range(n):  ans += abs(diff2[i])  
print(ans)

END
如果有更多问题或需要进一步的帮助,可以在评论区留言讨论哦!
如果喜欢的话,请给博主点个关注 谢谢


http://www.ppmy.cn/server/172770.html

相关文章

线反转法实现矩形键盘按键识别

由于行、列线为多键共用,各按键彼此将相互发 生影响,必须将行、列线信号配合起来并作适当的处 理,才能确定闭合键的位置。 线反转法 第1步:列线输出为全低电平,则行线中电平由高变低 的所在行为按键所在行。 第2步&…

Windows Docker玩转Nginx,从零配置到自定义欢迎页

一、前言 在当今数字化时代,Web 应用的开发与部署变得愈发重要,而 Nginx 作为一款高性能的 Web 服务器和反向代理服务器,被广泛应用于各种场景。Docker 则是一种流行的容器化平台,能够帮助开发者轻松地创建、部署和运行应用程序。…

C语言指针操作

1、指针基础 1.1、指针的声明 指针变量用于存储内存地址,声明时需要指定指向的数据类型: /* 指针的声明 */ char* c; /* 指向字符的指针 */ int* p; /* 指向整型的指针 */ float* f; /* 指向浮点数的指针 */ 指针只能指向某种特定类型的对象&#…

【芯片设计】AI芯片前端设计工程师面试记录·20250303

【芯片前端设计面试经验专栏介绍】 专栏聚焦数字芯片前端设计核心技术与面试方法论,涵盖架构设计、RTL开发、验证方法学、低功耗设计、时序收敛等高频考点,深入解析行业头部企业的面试真题与设计场景。内容包含但不限于: 知识点系统梳理 :从Verilog/SV语法陷阱、FSM设计模式…

Ollama进行DeepSeek本地部署存在安全风险解决方案,nginx反向代理配置

文章目录 概要整体架构流程技术细节**## 1.下载nginx [https://nginx.org/en/download.html](https://nginx.org/en/download.html),推荐Stable version稳定版**2.下载完成解压文件,打开conf文件夹下的nginx.conf,贴上反向代理配置3.然后点击解压文件夹下的nginx.exe,启动成…

LangGraph实战:构建智能文本分析流水线

LangGraph实战:构建智能文本分析流水线 1. 智能文本分析 LangGraph是基于图结构的工作流开发框架,通过节点函数和条件流转实现复杂业务逻辑。四大核心能力: 1.1 状态容器 统一管理流程执行上下文,支持JSON序列化存储 1.2 智能路由 基于条件判断实现动态分支跳转 1.3 可…

【Java 后端 Web 应用安全事件响应与溯源流程(Linux)】

Java 后端 Web 应用安全事件响应与溯源流程 一、事件响应核心流程(Java 后端聚焦)1. 快速隔离与现场保护2. 关键日志收集与备份 二、Java 应用攻击痕迹分析1. 应用服务器日志深度检测2. 应用层代码与依赖分析3. 内存与线程取证 三、工具链与自动化分析1.…

多空狙击线-新指标-图文教程,多空分界买点以及强弱操盘技术教程,通达信炒股软件指标

“多空狙击线”指标 “多空狙击线”特色指标是量能型技术指标,主要用于分析股票市场中机构做多/做空力量的强程度。该指标的构成、定义与原理如下: “多空狙击线”指标,又称机构做多/做空能量线,通过计算和分析股票市场中机构做多/做空力量…