【单调栈】【bzoj1113】海报PLA

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

题解:单调栈的水题,维护一个递增的单调栈,退栈时如果遇到相等,就代表可以少用一张海报。

#include<iostream>
#include<cstdio>
using namespace std;
int s[10000001],top,a,b,ans,n;
int main()
{
	cin>>n;
	top=0;
	for (int i=1;i<=n;i++)
	  {
	  	 cin>>a>>b;
	   	 while (b<=s[top])
	        {
	            if (b==s[top]) ans++;
				top--;
	        }
	    s[++top]=b;
	  }
	cout<<n-ans;
}
时间: 2024-11-08 21:19:47

【单调栈】【bzoj1113】海报PLA的相关文章

BZOJ1113 海报PLA

好像是很古老的题?现在BZOJ上找不到该题,所以没有提交. 1113: [Poi2008]海报PLA Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 810  Solved: 507[Submit][Status][Discuss] Description N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. (SilverN附注:矩形外不能贴海报) Input 第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每

海报PLA (HYSBZ - 1113)单调栈模板

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                               先解释下题意,题目说的不是很清楚 看上面两幅图,是样例的排列方式,

$bzoj1113-POI2008$ 海报$PLA$ 单调栈

题面描述 \(N\)个矩形,排成一排. 现在希望用尽量少的矩形海报\(Cover\)住它们. 输入格式 第一行给出数字\(N\),代表有\(N\)个矩形.\(N\)在\([1,25*10^4]\) 下面\(N\)行,每行给出矩形的长与宽.其值在\([1,10^9]\) 输出格式 最少数量的海报数. 题解 维护单调减的单调栈,如果存在两个柱子高度相等,且他们中间的所有柱子都大于他们的高度,那么这两个柱子就可以用同一个海报覆盖 #include<iostream> #include<cstd

bzoj1113[Poi2008]海报PLA*

bzoj1113[Poi2008]海报PLA 题意: N个矩形,排成一排.现在希望用尽量少的矩形海报盖住它们.不能盖到矩形之外的地方.n≤250000. 题解: 发现如果有一对矩形高度相等,且中间的矩形高度都比它们高,那么就可以省下一个矩形海报.故可以用个单调递增的栈维护. 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <stack> 5 #def

单调栈练习题题解

单调栈 单调栈顾名思义就是让栈中的元素是单调的,要么递增,要么递减.同样它也满足栈的性质,先进后出. 单调递增栈,则从栈顶到栈底的元素是严格递增的 单调递减栈,则从栈顶到栈底的元素是严格递减的 练习题 单调栈 练习题 POJ3250 POJ2796 BZOJ1113 HDU1506 POJ2559 JDFZ2997 POJ3250 POJ3250传送门 对于每一个牛来说,能看到的数目为向右数身高比它小的个数,累加就是答案. 所以可以倒着维护一个单调递增的栈,记录i之前的弹栈数目,累加. (正着也

BZOJ 1113: [Poi2008]海报PLA

题目 1113: [Poi2008]海报PLA Time Limit: 10 Sec  Memory Limit: 162 MB 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 Sa

【BZOJ 1113】 [Poi2008]海报PLA

1113: [Poi2008]海报PLA Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 751  Solved: 453 [Submit][Status] Description N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. Input 第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的长与宽.其值在[1,1000000000]2 1/2 Postering Output 最少数量的海报数

1113: [Poi2008]海报PLA

1113: [Poi2008]海报PLA Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 765  Solved: 466[Submit][Status][Discuss] Description N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. Input 第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的长与宽.其值在[1,1000000000]2 1/2 Postering Output 最

CDOJ 1069 秋实大哥去打工 单调栈 下标处理

E - 秋实大哥去打工 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:%lld & %llu Submit Status Practice UESTC 1069 Appoint description:  System Crawler  (2016-04-24) Description 天行健,君子以自强不息.地势坤,君子以厚德载物. 天天过节的秋实大哥又要过节了,于是他要给心爱的妹子买礼物.但由于最近秋实大哥手头拮