zoukankan      html  css  js  c++  java
  • 1113: [Poi2008]海报PLA

    1113: [Poi2008]海报PLA

    Time Limit: 10 Sec  Memory Limit: 162 MB
    Submit: 765  Solved: 466
    [Submit][Status][Discuss]

    Description

    N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们.

    Input

    第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的长与宽.其值在[1,1000000000]2 1/2 Postering

    Output

    最少数量的海报数.

    Sample Input

    5
    1 2
    1 3
    2 2
    2 5
    1 4

    Sample Output

    4

    HINT

     

    Source

    题解:一个萌萌哒单调栈,详解如下吧(显然,宽度啥的不知道作用在哪里= =,鸣谢 ZYF-ZYF神犇,祝RP++,虐场++)

    题解:

    ans最多等于n,那么什么情况下ans可以减小呢

    首先如果减少了,肯定是贴了一张海报,覆盖住两张高度相同的矩形(宽度是打酱油的。。。)

    那么就如果 h[i]=h[j] 那么就得保证 i 与 j 之间没有 比它们高度更小的了

    咦?想到了什么,对了,单调栈!维护一个单调递减栈,当该元素=栈顶元素时ans--,并将栈顶元素弹栈

     1 /**************************************************************
     2     Problem: 1113
     3     User: HansBug
     4     Language: Pascal
     5     Result: Accepted
     6     Time:3884 ms
     7     Memory:8040 kb
     8 ****************************************************************/
     9  
    10 var
    11    i,k,l,m,n:longint;j:int64;
    12    a:array[0..1000005] of int64;
    13 begin
    14      readln(n);l:=n;k:=0;
    15      for i:=1 to n do
    16          begin
    17               readln(j,j);
    18               while j<=a[k] do
    19                     begin
    20                          if j=a[k] then dec(l);
    21                          dec(k);
    22                     end;
    23               inc(k);a[k]:=j;
    24          end;
    25      writeln(l);
    26 end.
  • 相关阅读:
    CentOS7 Install Consul
    CentOS6 Install kafka
    CentOS7 Install Shipyard
    zabbix_sender
    python mail
    CentOS6.8 RPM包安装快速zabbix22
    python与shell通过微信企业号发送消息
    zabbix监控之grafana
    linux查看进程(java)启动时间
    (ubuntu)安装配置jenkins(新版)
  • 原文地址:https://www.cnblogs.com/HansBug/p/4474468.html
Copyright © 2011-2022 走看看