@NOIP2018 - D1T1@ 铺设道路】的更多相关文章

目录 @题目描述@ @考场上的思路@ @比较正常的题解@ @题目描述@ 春春是一名道路工程师,负责铺设一条长度为 n 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 n 块首尾相连的区域,一开始,第 i 块区域下陷的深度为 di. 春春每天可以选择一段连续区间 [L,R],填充这段区间中的每块区域,让其下陷深度减少 1.在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为 0. 春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为 0 . 输入…
[NOIp2013提高组]积木大赛/[NOIp2018提高组]铺设道路 题目大意: 对于长度为\(n(n\le10^5)\)的非负数列\(A\),每次可以选取一个区间\(-1\).问将数列清零至少需要几次操作. 思路: 差分后,将大于\(0\)的差分累加入答案即可. 源代码: #include<cstdio> #include<cctype> #include<algorithm> inline int getint() { register char ch; whil…
题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度为 \(d_i\)​ . 春春每天可以选择一段连续区间\([L,R]\) ,填充这段区间中的每块区域,让其下陷深度减少 \(1\).在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为 \(0\) . 春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为 \(0\)…
题目描述 春春是一名道路工程师,负责铺设一条长度为 n 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 n 块首尾相连的区域,一开始,第 i 块区域下陷的深度为 di. 春春每天可以选择一段连续区间[L,R][L,R] ,填充这段区间中的每块区域,让其下陷深度减少 1.在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为 0 . 春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为 0 . 输入格式 输入文件包含两行,第一行包含一个整数 n,表示…
题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度为 \(d_i\) . 春春每天可以选择一段连续区间 \([L,R]\) ,填充这段区间中的每块区域,让其下陷深度减少 \(1\).在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为 \(0\) . 春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为 \(0\)…
题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度为 \(d_i\). 春春每天可以选择一段连续区间 \([L,R]\) ,填充这段区间中的每块区域,让其下陷深度减少 \(1\).在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为 \(0\) . 春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为 \(0\) .…
原题:NOIP2013D1T1 积木大赛 题目地址:P5019 铺设道路 思路:玄学瞎搞 将每块区域插入一个小根堆,这里的小根堆用优先队列实现,即运用一个 \(pair\) , \(first\) 为 \(-d_i\) , \(second\) 为 \(i\) 每次取出堆顶,与上一次取出的数作差得到 \(d\) (如果是第一个数则上一个数为0), \(d\) 即为从上一个深度还需向下多深到现在的深度 而这部分所需的天数为 \(d×num\) , \(num\) 为这部分深度被分成了多少个部分,即…
题目描述 春春是一名道路工程师,负责铺设一条长度为 nn 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 nn 块首尾相连的区域,一开始,第 ii 块区域下陷的深度为 d_idi​ . 春春每天可以选择一段连续区间[L,R][L,R] ,填充这段区间中的每块区域,让其下陷深度减少 11.在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为 00 . 春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为 00 . 输入格式 输入文件包含两行,第一行…
题目链接 https://www.luogu.org/problem/P5019 解题思路 一道典型的贪心题. 假设从左往右填坑,如果第i个深与第i+1个,那么第i+1个就不需要额外填: 如果第i+1个大于第i个,就需要填i+1-i的深度,所以就相当于把>0的差分数组加起来就AC了. AC代码 #include<iostream> #include<cstdio> using namespace std; ]; long long ans; int main(){ int n…
原题,而且还是CCF自己的 考虑对于一段最长不上升序列,无论如何都至少有序列第一个数的贡献,可以知道,这个贡献是可以做到且最少的 然后对于序列最后一位,也就是最小的那一个数,可以和后面序列拼起来的就拼起来,所以后面的序列需要补偿的贡献就是差分 简化一下, \(ans=\sum_{i=1}^n\max\{0,(a_i-a_{i-1})\}\) #include<bits/stdc++.h> #define ui unsigned int #define ll long long #define…