NOIP2013积木大赛

今天咱家心情好,去2013年的题看了看,不幸的遇到了一道水题

题目简述:给你一个长度为n的目标序列,你每次可以把某一个区间中所有的值加一,问最少需要多少次操作才可以把一个长度为n的0序列变成目标序列

来看看这家伙,区间修改!我直接无脑打了个线段树模板,然而发现卵用没有,虽然网上有一些题解是贪心+线段树的,然而我们不需要线段树也可以直接贪到100分,而且要比线段树快,因为我们是O n 做的

咱家不会贪心证明,咱家只能在这跟你们瞎咧咧几句咱家的理解:每次只能+1 ,这是一个很好的性质,然后我们来想想一下可能的数据类型 ①很平很平,像2 3 3 3 3这种飞机都可以起飞了,②喜马拉雅山,像是1 2 1 3 8844 1 2 3 这种,好像有难度 ③ 天山山脉 1 233 23 2333 14 567 这样随时可以有一个极高点 ④渐高渐低型1 10 20 30 40 30 20 10 1 这种类型,我们需要想一种策略能应对多样的数据,接下来就要开始说说贪心的可行性了:我们可以把当前的高度与前面一个的高度比较,倘若比前面的高,那我们就需要在前面的高度上在向上盖,倘若比前面的低,那么前面的在盖的时候一定可以把当前位置达到目标,所以我们只需要累加所有h[i] - h[i] > 0 的值即为答案。我们在回到那个1 的问题,正是因为每次加一才能这样贪心,如果每次的高度自定的话,显然是不可行的,一旦有空的高度就一定会错误

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>

using namespace std;

typedef long long ll;

int main(){
    int n,x1 = 0,x2 = 0;
    ll ans = 0;
    scanf("%d",&n);
    for (int i = 0;i < n; ++i){
        scanf("%d",&x1);
        if (x1 > x2) ans += x1 - x2;
        x2 = x1;
    }
    printf("%lld\n",ans);
    return 0;
} 
时间: 2024-08-06 00:39:19

NOIP2013积木大赛的相关文章

贪心 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积木大赛 [贪心]

大意 自己查去... 说明 这道题正解是贪心,但标程里是有这样一句话的:把序列分成(a1,..ai)(ai+1,...aj)......(ak,...an)多个非递减序列.然后所有段中最大值的和减去除第一段外的段的最小值 是否太诡异了呢 于是本oier决定来一个较详细的解析,我们从样例出发 我们会想到先把2层的建好 而下一个是3层的,为了使得区间数最小,我们就把2层时建的区间延伸过去 但三层不够于是单键一层 而后面的放置类似的 观察延伸的过程 当后一个比前一个大时,前一个的区间覆盖不到后一个 答

洛谷 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是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少.但她不是一个勤于动手的孩子,所以想请你帮忙实现这

洛谷P1969 [NOIP2013提高组Day2T1] 积木大赛

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

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

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

【NOIP2013】积木大赛

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