• 【NOIP2018Day1T1】【洛谷P5019】铺设道路


    问题描述

    输入格式

    输出格式

    样例输入

    6  
    4 3 2 5 3 5

    样例输出

    9

    提示

    数据范围

    题解

    用最短时间填平道路上所有的坑。。。

    显然坑是从下往上填的,但是其实这样不好想算法,我们不妨倒过来,从上往下填

    为了时间最短,每一次一定选最长的区间填坑

    设ans表示填完所有坑的最短时间

    对于第i个坑(i>1),如果di<di-1那么填第i-1个坑的时候已经顺便把第i个坑填满了,所以就不用管第i个坑了

    如果di>di-1,那么填完第i-1个坑后第i个坑还没填满,先不管后面的坑怎么填,把第i个坑填满,还需要di-di-1天(每一天都选择以第i个坑为端点的最长的区域),即ans加上di-di-1

    对于第1个坑,由于一定要填满,ans初始值为d1

     1 #include <cstdio>
     2 int n;
     3 long long d[100005],ans;
     4 int main()
     5 {
     6     int i;
     7     scanf("%d",&n);
     8     for (i=1;i<=n;i++)
     9       scanf("%lld",&d[i]);
    10     ans=d[1];
    11     for (i=2;i<=n;i++)
    12       if (d[i]>d[i-1])
    13         ans+=(d[i]-d[i-1]);
    14     printf("%lld",ans);
    15     return 0;
    16 } 
  • 相关阅读:
    css实现京东顶部导航条
    css盒布局-省份选择盘的实现
    css字体的属性
    css行高
    CSS定位(position)
    CSS-clear属性的作用
    2.b统计字符串长度
    rectangle类。java
    mysql 版本问题之sql-mode 导致 sql 语句报错
    根据一个表中同一字段的不同值进行统计!!!
  • 原文地址:https://www.cnblogs.com/rabbit1103/p/13455659.html
Copyright © 2020-2023  润新知