洛谷P5019 铺设道路 题解 模拟/贪心基础题
题目链接:https://www.luogu.org/problemnew/show/P5019
这道题目是一道模拟题,但是它有一点贪心的思想。
我们假设当前最大的深度是 \(d\) ,那么我们需要把所有深度为d的坑全都填成深度为 \(d-1\) ,然后去填深度为 \(d-1\) 的坑……
实现代码如下(手动开启了O2优化,不然会TLE2组):
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize(2)
const int maxn = 100010;
int n, d[maxn], dmax, cnt;
int main() {
scanf("%d", &n);
for (int i = 0; i < n; i ++) {
scanf("%d", d+i);
dmax = max(dmax, d[i]);
}
for (; dmax > 0; dmax --)
for (int i = 0; i < n; i ++)
if (d[i] >= dmax && (!i || d[i-1] < dmax)) cnt ++;
printf("%d\n", cnt);
return 0;
}
洛谷P5019 铺设道路 题解 模拟/贪心基础题的更多相关文章
- 洛谷 P5019 铺设道路
题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度 ...
- 洛谷 P5019 铺设道路 & [NOIP2018提高组](贪心)
题目链接 https://www.luogu.org/problem/P5019 解题思路 一道典型的贪心题. 假设从左往右填坑,如果第i个深与第i+1个,那么第i+1个就不需要额外填: 如果第i+1 ...
- NOIP2018&2013提高组T1暨洛谷P5019 铺设道路
题目链接:https://www.luogu.org/problemnew/show/P5019 花絮:普及蒟蒻终于A了一道提高的题目?emm,写一篇题解纪念一下吧.求过! 分析: 这道题我们可以采用 ...
- 洛谷 P5019 铺设道路(差分)
嗯... 题目链接:https://www.luogu.org/problem/P5019 首先简化一下题意: 给定一个长为N的数组,每次操作可以选择一个区间减去1,问最少多少次操作可以将数组中的数全 ...
- 洛谷 P1016 旅行家的预算 模拟+贪心
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 总结 题面 题目链接 P1016 旅行家的预算 题目描述 一个旅行家想驾驶汽车 ...
- 洛谷P5020 货币系统 题解 模拟
题目链接:https://www.luogu.org/problem/P5020 这道题目是一道模拟题,但是又有一点多重背包的思想在里面. 首先我们定义一个 vis[i] 来表示和为 i 的情况在之前 ...
- 洛谷 P2296 寻找道路 题解
每日一题 day42 打卡 Analysis 首先,预处理,把每条边反向. 从终点开始bfs,标记从终点开始可以走到的点. 第二步,枚举每一个点,如果这个点没有被标记,则枚举它的每一条出边(反向后的) ...
- 洛谷P2858 奶牛零食 题解 区间DP入门题
题目大意: 约翰经常给产奶量高的奶牛发特殊津贴,于是很快奶牛们拥有了大笔不知该怎么花的钱.为此,约翰购置了 \(N(1 \le N \le 2000)\) 份美味的零食来卖给奶牛们.每天约翰售出一份零 ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
随机推荐
- C#中的事件注册和注销
C#中的事件注册和注销 由于.NET框架对消息循环机制进行了很好的封装,开发人员不再需要深入的了解Windows事件/消息实现的具体机制,也无需创建复杂的事件结构体和所谓的消息句柄.我们所要做的无非就 ...
- Django 配置MySQL数据库 mysql
Django 配置MySQL数据库 在settings.py中配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # ...
- Lichee ( 四 ) 打包IMAGE
在<Lichee(三) Android4.0的目标产品文件夹与Lichee的纽带---extract-bsp>中我们分析了extract-bsp的作用和意义.到这里,我们能够開始编译And ...
- 当node升级后导致webpack打包出错,node-saas出问题的解决办法
报错信息如下: ERROR in ./node_modules/_extract-text-webpack-plugin@3.0.2@extract-text-webpack-plugin/dist/ ...
- iOS 使用Quartz和OpenGL绘图
http://blog.csdn.net/coder9999/article/details/7641701 第十二章 使用Quartz和OpenGL绘图 有时应用程序需要能够自定义绘图.一个库是Qu ...
- ubuntu上安装notepadpp
Notepad++是一套非常有特色的自由软件的纯文字编辑器(许可证:GPL).有完整的中文化接口及支持多国语言编写的功能(UTF8 技术).它的功能比 Windows 中的 Notepad(记事本)强 ...
- Intellij:用Intellij出的Gradle插件进行开发
前言:之前看到网上大部分的Intellij开发教程都是采用Intellij官方文档的那个版本,配置Intellij SDK一大堆的. 现在给大家介绍简单的方法吧,我们组内大神找到的.我们需要用到的是I ...
- 大合集 | 9 场 Dubbo Meetup 回顾视频和PPT下载
2018年2月16日,Dubbo 加入 Apache 基金会孵化器,在随后的那个夏天,我们开始在全国(北京.上海.深圳.成都.杭州)和社区的用户们见面.认识.交个朋友,将社区的最新动态.Dubbo 的 ...
- Sublime Text3 安装less
1.安装Sublime 插件 (1)安装LESS插件:因为Sublime不支持Less语法高亮,所以,先安装这个插件,方法: ctrl+shift+p>install Package>输入 ...
- node.js(二)各种模块
我们知道Node.js适合于IO密集型应用,不适合于CPU密集型应用. JS和Node.js区别: JS运行于客户端浏览器中,存在兼容性问题:数据类型:值类型+引用类型(ES+D ...