鸡哥炒币亏惨了只能去搬砖,他负责铺设一条长度为n的道路。
铺设道路的主要工作是填平下陷的地表。整段道路可以看作是n块首尾相连的区域,一开始,第i块区域下陷的深度为d_i。
鸡哥每天可以选择一段连续区间[L, R],填充这段区间中的每块区域,让其下陷深度减少 1。在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为0。
鸡哥希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为0。

输入格式

输入文件包含两行,第一行包含一个整数n,表示道路的长度。 第二行包含n个整数,相邻两数间用一个空格隔开,第 i 个整数为d_i。
1<=n<=100000, d_i<=10000

输出格式

输出文件仅包含一个整数,即最少需要多少天才能完成任务。

Sample Input

6
4 3 2 5 3 5

Sample Output

9

解题思路:

规定:大小指的是深度

如果左边的比右边的大,那么填完左边的右边一定已经被填好了

开销是左边的填的天数

下面是图演示:

如果左边比右边小,那么填完左边还要接着填右边(在左边的基础上填右边)

开销是 右深度 - 左深度 的深度开销

下面是图演示:

AC代码如下:

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<cstdio>
#include<map>
#define ll long long
using namespace std;
const int inf = 0x3f3f3f3f;
const int N = 1e5+9;
int s[N];
int main()
{int n;scanf("%d",&n);for(int i = 1;i<=n;i++){scanf("%d",&s[i]);}int sum = s[1];for(int i = 1;i<=n;i++){if(s[i]<s[i+1])sum+=s[i+1]-s[i];}printf("%d\n",sum);
}

[NOIP2018]铺设道路相关推荐

  1. 【NOIP2013积木大赛,NOIP2018铺设道路】积木大赛(思维,贪心)

    题干: 题目描述 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为nn的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是h_ihi​. ...

  2. P5019 [NOIP2018 提高组] 铺设道路(贪心算法)

    题目描述 春春是一名道路工程师,负责铺设一条长度为 n 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是  n 块首尾相连的区域,一开始,第 ii 块区域下陷的深度为  di​ . 春 ...

  3. NOIP2018 DAY1T1 铺设道路(水题)

    洛谷传送门 [题目分析] 呵呵,NOIP竟然出原题,是不是刷过积木大赛这道题的人都禁赛啊? 结论很明显,直接找区间最小值减去即可. 不知道nlogn的算法能不能过,反正O(n)即可. 我选择先读完再扫 ...

  4. 【NOIP2018】【Luogu5019】铺设道路(贪心,差分)

    problem 给定一个目标序列,每次操作可以将一个区间全部减1. 求最少操作数使序列变为全0. solution 讲个笑话,NOIP2013中DAY1T1的代码直接复制粘贴都能过这题. 考虑区间减法 ...

  5. 洛谷 P5019 铺设道路(差分)

    嗯... 题目链接:https://www.luogu.org/problem/P5019 首先简化一下题意: 给定一个长为N的数组,每次操作可以选择一个区间减去1,问最少多少次操作可以将数组中的数全 ...

  6. 铺设道路(洛谷P5019题题解,Java语言描述)

    题目要求 题目链接 分析 纯模拟,爆炸,数据量太大,然后参考dalaodalaodalao的博客了解本题的贪心算法,最终AC. AC代码(Java语言描述) import java.io.Buffer ...

  7. noip2018——题解总结

    近期正在疯狂复习某些东西,这篇博客尽量年底更完--(Day2T2除外) 好了,所有的希望都破灭了,原来这就是出题人的素质.--一个被欺骗的可怜 $OIer$ 人生中倒数第三次 $noip$ (Mayb ...

  8. NOIP2018提高组比赛总结

    NOIP2018提高组比赛总结 前言 新赛季,依旧有很多失误. 在些许的遗憾和无奈中,NOIP2018,撒花结束 纵观今年的整一场NOIP,有许多值得总结的地方 正文 NOIP2018初赛 第二次参加 ...

  9. NOIP2018提高组Day1 解题报告

    前言 关于\(NOIP2018\),详见此博客:NOIP2018学军中学游记(11.09~11.11). 这次\(NOIP\ Day1\)的题目听说很简单(毕竟是三道原题),然而我\(T3\)依然悲剧 ...

最新文章

  1. linux 终端什么意思,请问我的终端显示的是什么意思
  2. 机器学习的优化目标、期望最大化(Expectation-Maximum, EM)算法、期望最大化(EM)和梯度下降对比
  3. PostgreSQL 表达式索引 - 语法注意事项
  4. 第一阶段SCRUM冲刺 03
  5. Oracle osw监控工具的使用示例
  6. windowsphone开发_APP软件开发用哪些软件比较好
  7. 如何移动SQL SERVER的系统数据库
  8. 大数据 互联网架构阶段 Redis
  9. java 递归函数_浅谈java递归函数
  10. 前端学习(648):转换为boolean
  11. LeetCode 1009. 十进制整数的反码(位运算)
  12. 采用推理的方法认知单词、CBOW模型
  13. java订单超时取消设计_PHP如何实现处理过期或者超时订单的,并还原库存
  14. ELK学习总结(1)——我们为什么要用ELK
  15. 如何利用nginx_upstream_check_module-master对nginx的后端机器进行健康状态检查
  16. Linux深入篇之一:配置Nginx Web服务器及多域名主机
  17. 怎么改自己手机的ip地址
  18. 破解ESX主机ROOT帐户密码。
  19. 天源财富:意法半导体推出下一代MEMS加速度计 可用于高性能汽车
  20. 小米电视不同清晰度图片对比效果

热门文章

  1. 【Java】计算8+88+888+8888+....前12项的和
  2. 【树莓派】给树莓派安装中文输入法Fcitx及Google拼音输入法
  3. C#LeetCode刷题之#709-转换成小写字母(To Lower Case)
  4. 计费系统设计_Web设计人员的按小时计费与基于价值的定价
  5. angular2创建应用_如何在Angular 2+应用程序中使用JavaScript库
  6. 现实世界的数据结构:JavaScript中的表格和图形
  7. Draconian,自由或保姆状态:Java,C#,C,C ++,Go和Rust中的并发意识形态
  8. 简易自动电阻测试仪_开始自动测试您的网站的简单方法
  9. 老公吵架把我扔街上_我是如何从在街上卖食物到为顶尖的技术公司工作的方式-第2部分:获取......
  10. 适合初学者的安卓开源项目_开源世界中初学者的颠簸之旅