zoukankan      html  css  js  c++  java
  • bzoj 1113 [Poi2008]海报PLA 单调栈

    [Poi2008]海报PLA

    Time Limit: 10 Sec  Memory Limit: 162 MB
    Submit: 1304  Solved: 896
    [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

    直接单调栈吧,怎么搞都行

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 #define F(i,j,n) for(int i=j;i<=n;i++)
     7 #define D(i,j,n) for(int i=j;i>=n;i--)
     8 #define LL long long
     9 #define MAXN 250005
    10 using namespace std;
    11 int ans,n,x,y,s[MAXN],t=0;
    12 int main()
    13 {
    14     scanf("%d",&n);
    15     ans=n;
    16     scanf("%d%d",&x,&y);
    17     s[++t]=y;
    18     F(i,2,n)
    19     {
    20         scanf("%d%d",&x,&y);
    21         while (t>0&&s[t]>y) t--;
    22         if (s[t]==y) ans--;
    23         s[++t]=y;
    24     }
    25     printf("%d
    ",ans);
    26 }
  • 相关阅读:
    2017年暑期实习生招聘(百度)——两道编程题
    携程笔试中的一道编程题
    软工假期预习作业1
    假期作业
    FAFU 1557
    HDU 1028
    POJ 3126
    HDU5108
    POJ 1716
    HDU4790
  • 原文地址:https://www.cnblogs.com/fengzhiyuan/p/8834729.html
Copyright © 2011-2022 走看看