bzoj1113

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1113

题解:单调栈

代码:

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 #define maxn 250005
 6 using namespace std;
 7 int n;
 8 int a[maxn],b[maxn],z[maxn];
 9 int main()
10 {
11     scanf("%d\n",&n);
12     int mmax=0,top=0,ans=0;
13     for (int i=1; i<=n; i++) scanf("%d%d",&a[i],&b[i]),mmax=max(mmax,b[i]);
14     z[0]=0;
15     for (int i=1; i<=n; i++)
16     {
17         while (z[top]>b[i]) top--;
18         if (z[top]<b[i]) ans++;
19         z[++top]=b[i];
20     }
21     printf("%d\n",ans);
22 }

时间: 2024-07-28 21:17:32

bzoj1113的相关文章

bzoj1113[Poi2008]海报PLA*

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

【单调栈】【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 题解:单调栈的水题,维护一个递增的单调栈,退栈时如果遇到相等,就代表可以少用一张海报. #i

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行,每

单调栈练习题题解

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

大神刷题表

9月27日 后缀数组:[wikioi3160]最长公共子串 dp:NOIP2001统计单词个数 后缀自动机:[spoj1812]Longest Common Substring II [wikioi3160]最长公共子串 [spoj7258]Lexicographical Substring Search 扫描线+set:[poj2932]Coneology 扫描线+set+树上删边游戏:[FJOI2013]圆形游戏 结论:[bzoj3706][FJ2014集训]反色刷 最小环:[poj1734

[转载]hzwer的bzoj题单

counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 BZOJ1084 BZOJ1295 BZOJ3109 BZOJ1085 BZOJ1041 BZOJ1087 BZOJ3038 BZOJ1821 BZOJ1076 BZOJ2321 BZOJ1934 BZOJ