news 2026/4/18 9:25:59

[Poi2011]Lightning Conductor题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[Poi2011]Lightning Conductor题解

P3515 [POI 2011] Lightning Conductor

题目描述

逐渐变化的气候迫使 Byteburg 当局建造一个巨大的避雷针,以保护城市内的所有建筑物。

这些建筑物沿着一条街道排成一行,编号从1 11n nn

建筑物和避雷针的高度是非负整数。

Byteburg 的资金有限,只能建造一个避雷针。

而且,正如你所料,避雷针越高,成本越高。

位于建筑物i ii(高度为h i h_ihi)屋顶上的高度为k kk的避雷针可以保护建筑物j jj(高度为h j h_jhj),如果满足以下不等式:

k + h i ≥ h j + ∣ i − j ∣ k + h_i \geq h_j + \sqrt{|i-j|}k+hihj+ij

其中∣ i − j ∣ |i - j|ij表示i iij jj之间的绝对差值。

Byteburg 的市长 Byteasar 请求你的帮助。

编写一个程序,对于每个建筑物i ii,确定如果将避雷针放在建筑物i ii上,能够保护所有建筑物的避雷针的最小高度。

输入格式

标准输入的第一行有一个整数n nn(1 ≤ n ≤ 500 , 000 1 \leq n \leq 500,0001n500,000),表示 Byteburg 中的建筑物数量。

接下来的n nn行中的每一行包含一个整数h i h_ihi(0 ≤ h i ≤ 1 , 000 , 000 0 \leq h_i \leq 1,000,0000hi1,000,000),表示第i ii个建筑物的高度。

输出格式

你的程序应输出恰好n nn行到标准输出。

i ii行应给出一个非负整数k i k_iki,表示第i ii个建筑物上避雷针的最小高度。

输入输出样例 #1

输入 #1

6 5 3 2 4 2 4

输出 #1

2 3 5 3 5 4

说明/提示

题面翻译由 ChatGPT-4o 提供。

思路

动态规划
决策单调性

代码见下

#include<bits/stdc++.h>usingnamespacestd;longlongn;doublea[500005],f[500005],sq[500005];voidabc(longlongl,longlongr,longlongx,longlongy){if(l>=r+1){return;}longlongmid=(l+r)/2,p;doublema=0.00;for(inti=x;i<=min(mid,y);i++){if(a[i]+sq[mid-i]>ma){ma=a[i]+sq[mid-i];p=i;}}if(ma>f[mid]){f[mid]=ma;}abc(l,mid-1,x,p);abc(mid+1,r,p,y);return;}intmain(){cin>>n;for(inti=1;i<=n;i++){cin>>a[i];sq[i]=sqrt(i);}abc(1,n,1,n);for(inti=1;i<=n/2;i++){swap(a[i],a[n-i+1]);swap(f[i],f[n-i+1]);}abc(1,n,1,n);for(inti=1;i<=n/2;i++){swap(a[i],a[n-i+1]);swap(f[i],f[n-i+1]);}for(inti=1;i<=n;i++){cout<<(longlong)ceil(f[i])-(longlong)a[i]<<endl;}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 21:52:57

让创业更有后劲,长沙用金融铺就“成长跑道”

近几年&#xff0c;关于年轻人创业的讨论很多&#xff0c;但按照一线创业人提供的经验来看&#xff0c;比起最初一刻的选择&#xff0c;更难的是后面一长段时间的坚持&#xff1a;项目怎么从实验室走到市场&#xff1f;第一笔订单之后&#xff0c;第二批设备钱从哪里来&#xf…

作者头像 李华
网站建设 2026/4/18 8:38:28

SQL必会必知整理-13-联结表

13.1 联结联结是利用SQL的SELECT能执行的最重要的操作&#xff0c;很好地理解联结及其语法是学习SQL的一个极为重要的组成部分。13.1.1 关系表外键为某个表中的一列&#xff0c;它包含另一个表的主键值&#xff0c;定义了两个表之间的关系。这样做的好处如下&#xff1a;信息不…

作者头像 李华
网站建设 2026/4/18 8:03:20

jQuery EasyUI 树形菜单 - 树形菜单添加节点

下面直接给你最实用、最常见的树形菜单添加节点方法&#xff0c;jQuery EasyUI 的 tree 组件支持超级灵活的动态添加节点&#xff08;新增根节点、新增子节点、插入同级节点等&#xff09;&#xff0c;复制粘贴就能用&#xff0c;领导最爱的“动态部门树新增、菜单管理新增节点…

作者头像 李华
网站建设 2026/4/18 8:10:02

AI智能体的核心引擎:知识库构建全流程详解(建议收藏)

本文详细介绍了AI知识库作为智能体"认知大脑"的核心价值&#xff0c;阐述了其三层组成要素&#xff08;事实层、规则层、语义层&#xff09;及与智能体的交互逻辑。通过未来智安的实践案例&#xff0c;展示了AI知识库如何实现快速威胁定位、持续学习沉淀和人机协同优…

作者头像 李华
网站建设 2026/4/18 8:54:41

四端互通与高并发:下一代即时通讯系统的核心技术解析

在当前数字化时代&#xff0c;即时通讯系统已成为人们日常沟通的重要工具。一套优秀的即时通讯解决方案需要实现PC端、Web端、iOS和Android四端无缝互通&#xff0c;同时能够应对海量用户并发访问的挑战。本文将深入探讨实现这一目标的核心技术方案。全平台覆盖的架构设计现代即…

作者头像 李华
网站建设 2026/4/17 19:09:16

两大神器助你一键本地部署大模型,小白也能秒变专家

文章介绍了本地部署大模型的四大必要性&#xff1a;数据隐私安全、摆脱网络依赖、降低长期成本、个性化定制。推荐了两款工具&#xff1a;DS本地部署大师&#xff0c;提供图形化界面和内置模型&#xff0c;一键安装使用&#xff1b;聪明灵犀&#xff0c;支持硬件监控、参数调优…

作者头像 李华