【Poi2008】【BZOJ1113】海报PLA
2015-11-17 19:00
253 查看
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
感觉跟NOIP2013那题这么像啊…
宽度没什么卵用只用高度
显然相同高度能直接一次搞掉
那么找找有多少相同的n-cnt就是答案
单调栈维护(听说排序卡常..?
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
感觉跟NOIP2013那题这么像啊…
宽度没什么卵用只用高度
显然相同高度能直接一次搞掉
那么找找有多少相同的n-cnt就是答案
单调栈维护(听说排序卡常..?
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define GET (ch>='0'&&ch<='9') #define MAXN 250010 using namespace std; int n,x,sta[MAXN],top,ans; void in(int &x) { char ch=getchar();x=0; while (!GET) ch=getchar(); while (GET) x=x*10+ch-'0',ch=getchar(); } int main() { in(n); for (int i=1;i<=n;i++) { in(x);in(x); while (x<=sta[top]) ans+=(x==sta[top]),top--; sta[++top]=x; } printf("%d\n",n-ans); }
相关文章推荐
- 浅谈单调队列、单调栈
- 1.一些 贪心算法 的简单思维题:
- 贪心算法——字典序最小问题
- 贪心算法——区间调度问题
- 用单调栈解决最大连续矩形面积问题
- Jump Game I,II 贪心
- Wildcard Matching
- 贪心题目循环和控制台折行
- HDOJ 1009
- 【解题报告】【USACO】酸奶工厂
- 【解题报告】【】交谊舞
- POJ 1328
- Best Cow Line
- 贪心 hdu 1003
- 最大容器
- 满足和为定值的两个数或多个数
- HUD1052 __ P2 1002 __ Tian Ji -- The Horse Racing
- 2015年国家集训队测试 BZOJ3816矩阵变幻
- poj 1328
- HDU--1052