luogu5019 [NOIp2018]铺设道路 (贪心)
和NOIp2013 积木大赛一模一样
我在堆一格的时候,我把它尽量地往右去延伸
于是如果对于一个i,a[i-1]<a[i],那i在之前一定只堆过a[i-1]那么多,所以要再堆a[i]-a[i-1]
如果a[i-1]>=a[i],那i肯定都堆过了
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
typedef pair<int,int> pa;
const int maxn=1e5+; inline ll rd(){
ll x=;char c=getchar();int neg=;
while(c<''||c>''){
if(c=='-') neg=-;
c=getchar();
}
while(c>=''&&c<='') x=x*+c-'',c=getchar();
return x*neg;
} int N,a[maxn];
int main(){
// freopen("road.in","r",stdin);
// freopen("road.out","w",stdout);
int i,j,k;
N=rd();
for(i=;i<=N;i++) a[i]=rd();
int ans=;
for(i=;i<=N;i++){
if(a[i]>a[i-]) ans+=a[i]-a[i-];
}
printf("%d\n",ans);
return ;
}
luogu5019 [NOIp2018]铺设道路 (贪心)的更多相关文章
- [NOIp2018]铺设道路 贪心
LG传送门 考场上写的\(O(nlogn)\)做法,具体思想是把深度从低到高排个序,开一个标记数组,每次加入的时候标记当前位置并判断:如果当前加入的位置两边都被标记过,则下次的贡献-1,若两边都没有被 ...
- 题解【洛谷P5019】[NOIP2018]铺设道路
题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度 ...
- $Noip2018/Luogu5019/Luogu1969$ 铺设道路
$Luogu$ 去年$Noip$的时候我并没有做过原题,然后考场上也没有想出正解,就写了个优化了一点的暴力:树状数组+差分,然后就$A$了$ovo$. $Sol$ 只要$O(N)$扫一遍,只要当前值比 ...
- 【比赛】NOIP2018 铺设道路
原题,而且还是CCF自己的 考虑对于一段最长不上升序列,无论如何都至少有序列第一个数的贡献,可以知道,这个贡献是可以做到且最少的 然后对于序列最后一位,也就是最小的那一个数,可以和后面序列拼起来的就拼 ...
- noip 2018 day1 T1 铺设道路 贪心
Code: #include<cstdio> using namespace std; int main() { int last=0,ans=0; int n;scanf("% ...
- [NOIp2013提高组]积木大赛/[NOIp2018提高组]铺设道路
[NOIp2013提高组]积木大赛/[NOIp2018提高组]铺设道路 题目大意: 对于长度为\(n(n\le10^5)\)的非负数列\(A\),每次可以选取一个区间\(-1\).问将数列清零至少需要 ...
- @NOIP2018 - D1T1@ 铺设道路
目录 @题目描述@ @考场上的思路@ @比较正常的题解@ @题目描述@ 春春是一名道路工程师,负责铺设一条长度为 n 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 n 块首尾相连的 ...
- 洛谷P5019 [NOIP2018 提高组] 铺设道路
题目描述 春春是一名道路工程师,负责铺设一条长度为 n 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 n 块首尾相连的区域,一开始,第 i 块区域下陷的深度为 di. 春春每天可以 ...
- 洛谷 P5019 铺设道路
题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度 ...
随机推荐
- PHP之位运算符
使用场景: 1) 判断奇数偶数 ; $i < ; $i++) { ){ echo $i.PHP_EOL; } } //输出所有奇数 2)快速修改状态 $status1 = ; $status2 ...
- PHP--高级算法--面试
数据结构和算法(转载) 原文地址: https://blog.csdn.net/s1070/article/details/51174725 1.使对象可以像数组一样进行foreach循环,要求属性 ...
- [学习]UX 测试 5S 范围
最近被UX测试搞的死去活来的 郁闷坏了. 豆瓣上面有一个介绍: 好的框架总是简洁的. Strategy - Scope - Structure - Skeleton - Surface五个层面,用bo ...
- [官网]Red Hat Enterprise Linux Release Dates
Red Hat Enterprise Linux Release Dates https://access.redhat.com/articles/3078 The tables below list ...
- Spring的Bean配置
IOC和DI 网上概念很多,感兴趣可以去搜一搜,在这里我就给个比喻: IOC:以前我们买东西都要去商店买,用了IOC之后,我们只要在门口放个箱子, Spring就会给我相应商品,ಠᴗಠ 举个例子 cl ...
- Vue 获得所选中目标的状态(checked)以及对应目标的数据,并进行相应的操作
一.我们现在要拿取购物车中选中商品的状态和该商品的所有数据或者id <ul v-if="shopList.list.length>0"> <li class ...
- mysql数据库修改数据表引擎的方法
对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎.如果你要使用全文索引,那必须使用myisam. INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的 ...
- adoquery.refresh和adoquery.query的区别
大的区别没有 1: requery是通过重新发出原始命令并再次检索数据,可使用 Requery 方法刷新来自数据源的 Recordset 对象的全部内容.调用该方法等于相继调用 Close 和 Ope ...
- CUDA开发
CUB库 https://nvlabs.github.io/cub/index.html
- 自定义 ASP.NET Identity Data Model with EF
One of the first issues you will likely encounter when getting started with ASP.NET Identity centers ...