NOIP2013积木大赛 [贪心]

大意

自己查去...

说明

这道题正解是贪心,但标程里是有这样一句话的:把序列分成(a1,..ai)(ai+1,...aj)......(ak,...an)多个非递减序列。然后所有段中最大值的和减去除第一段外的段的最小值

是否太诡异了呢

于是本oier决定来一个较详细的解析,我们从样例出发

我们会想到先把2层的建好

而下一个是3层的,为了使得区间数最小,我们就把2层时建的区间延伸过去

但三层不够于是单键一层

而后面的放置类似的

观察延伸的过程

当后一个比前一个大时,前一个的区间覆盖不到后一个 答案必须要加上后一个比前一个多的。

当后一个比前一个少时,之前的区间一定可以延伸出去覆盖到它,所以答案只加后一个比前一个大的数。

代码在此

#include<iostream>
#include<cstdio>
using namespace std;
int n,x,p,ans;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&x);
        int k=x-p;
        if(k>0)ans+=k;
        p=x;
    }
    cout<<ans<<endl;
    return 0;
}

原文地址:https://www.cnblogs.com/66t6/p/8445979.html

时间: 2024-08-25 03:34:50

NOIP2013积木大赛 [贪心]的相关文章

洛谷P1969 积木大赛 贪心 差分

洛谷P1969 积木大赛 贪心 考虑差分 对区间 [l,r]+1 在差分数组上相当于 d[ l ]++ ; d[ r+1 ]-- ; 那么你得到原数组的差分数组后 当d[ i ] = x 则你需要 对 以 i 为左端点 右端点未知的一个区间加x次且这x加的可能不是同一个区间 所以最后只要将差分数组中所有正数加上去就行了 同样其实也可以用负数算的,但是负数算的话,要加上 d[ n+1 ] 即 a[ n+1 ] - a[ n ] 或者另一种思路对于一段上升(不下降)区间,我们在搭最高层时可以把下面一

贪心 NOIP2013 积木大赛

积木大赛 题目描述 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木).接下来每次操作,小朋友们可以选择一段连续区间[l, r],然后将第第 L 块到第 R 块之间(含第 L 块和第 R 块)所有积木的高度分别增加1. 小 M 是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少.但她不是一个勤于动手

noip2013 积木大赛

P1969 积木大赛 594通过 1.1K提交 题目提供者该用户不存在 标签模拟2013NOIp提高组 难度普及/提高- 提交该题 讨论 题解记录 最新讨论 最后一个数据点过不了 本题题目不完整 题目描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木).接下来每次操作,小朋友们可以选择一段连续区间[l, r],然后将第第 L 块到

NOIP2013 积木大赛 题解(2种解法)

描述 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为1的积木组成,第 版权声明:本文为博主原创文章,未经博主允许不得转载.

NOIP2013积木大赛

今天咱家心情好,去2013年的题看了看,不幸的遇到了一道水题 题目简述:给你一个长度为n的目标序列,你每次可以把某一个区间中所有的值加一,问最少需要多少次操作才可以把一个长度为n的0序列变成目标序列 来看看这家伙,区间修改!我直接无脑打了个线段树模板,然而发现卵用没有,虽然网上有一些题解是贪心+线段树的,然而我们不需要线段树也可以直接贪到100分,而且要比线段树快,因为我们是O n 做的 咱家不会贪心证明,咱家只能在这跟你们瞎咧咧几句咱家的理解:每次只能+1 ,这是一个很好的性质,然后我们来想想

【基础练习】【贪心】【递推】NOIP2013提高组第五题 积木大赛题解

还是先把题目放上吧: 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第n块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木).接下来每次操作,小朋友们可以选择一段连续区间[L,R],然后将第L块到第R块之间(含第 L 块和第 R 块)所有积木的高度分别增加1. 小M是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少.但她不是一个勤于动手的孩子,所以想

TZOJ--4879: 积木大赛(贪心)

4879: 积木大赛 描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第n块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木).接下来每次操作,小朋友们可以选择一段连续区间[L,R],然后将第L块到第R块之间(含第 L 块和第 R 块)所有积木的高度分别增加1. 小M是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少.但她不是一个勤于动手的孩子,所以想请你

洛谷 P1969 积木大赛(NOIp2013提高组D2T1)

题目描述 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木).接下来每次操作,小朋友们可以选择一段连续区间[l, r],然后将第第 L 块到第 R 块之间(含第 L 块和第 R 块)所有积木的高度分别增加1. 小 M 是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少.但她不是一个勤于动手的孩子,所

p1440积木大赛[noip2013]

题目: 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1且高度不定的积木组成,第i块积木的最终高度需要是hi.在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木).接下来每次操作,小朋友们可以选择一段连续区间[L, R],然后将第L块到第R块之间(含第L块和第R块)所有积木的高度分别增加1.小M是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少.但她不是一个勤于动手的孩子,所以想请你帮忙实现这