• NOIP2013积木大赛


    题目描述

    春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi。

    在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木)。接下来每次操作,小朋友们可以选择一段连续区间[l, r],然后将第第 L 块到第 R 块之间(含第 L 块和第 R 块)所有积木的高度分别增加1。

    小 M 是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少。但她不是一个勤于动手的孩子,所以想请你帮忙实现这个策略,并求出最少的操作次数。

    输入输出格式

    输入格式:

    输入文件为 block.in

    输入包含两行,第一行包含一个整数n,表示大厦的宽度。

    第二行包含n个整数,第i个整数为hi 。

    输出格式:

    输出文件为 block.out

    仅一行,即建造所需的最少操作数。

    输入输出样例

    输入样例#1:
    5
    2 3 4 1 2
    输出样例#1:
    5

    说明

    【样例解释】

    其中一种可行的最佳方案,依次选择

    [1,5] [1,3] [2,3] [3,3] [5,5]

    【数据范围】

    对于 30%的数据,有1 ≤ n ≤ 10;

    对于 70%的数据,有1 ≤ n ≤ 1000;

    对于 100%的数据,有1 ≤ n ≤ 100000,0 ≤ hi≤ 10000。

    ------------------------------------

    扫描 每一个下降结束,ans+=前面的最高-下降最低点,最后加上最高-0

    //
    //  main.cpp
    //  noip2013d2t1
    //
    //  Created by abc on 16/7/30.
    //  Copyright © 2016年 abc. All rights reserved.
    //
    
    #include <iostream>
    #include <cstdio>
    using namespace std;
    int n,h,mx=-1,down=0,last=-1,ans=0;
    int max(int a,int b){
        return a>b?a:b;
    }
    int main(int argc, const char * argv[]) {
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            scanf("%d",&h);
            if(down==1&&h>last) ans+=mx-last,mx=-1;
            mx=max(mx,h);
            if(i==n-1) ans+=mx;
            if(h<last) down=1;
            last=h;
        }
        cout<<ans;
        return 0;
    }

    【2016-09-23】

    灰哥的新方法:

    cin>>n>>a;
    sum=a;
    for(int i=1;i<n;i++){
      cin>>b;
      if(b>=a) {sum+=b;a=b;}
      else a=b;        
    }
  • 相关阅读:
    This counter can increment, decrement or skip ahead by an arbitrary amount
    LUT4/MUXF5/MUXF6 logic : Multiplexer 8:1
    synthesisable VHDL for a fixed ratio frequency divider
    Bucket Brigade FIFO SRL16E ( VHDL )
    srl16e fifo verilog
    DualPort Block RAM with Two Write Ports and Bytewide Write Enable in ReadFirst Mode
    Parametrilayze based on SRL16 shift register FIFO
    stm32 spi sdcard fatfs
    SPI bus master for System09 (2)
    SQLSERVER中的自旋锁
  • 原文地址:https://www.cnblogs.com/candy99/p/5790183.html
Copyright © 2020-2023  润新知