NYOJ 891贪心
来源:互联网 发布:淘宝开店需要押金吗 编辑:程序博客网 时间:2024/05/02 03:02
找点
时间限制:2000 ms | 内存限制:65535 KB
难度:2
- 描述
上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?
- 输入
- 多组测试数据。
每组数据先输入一个N,表示有N个闭区间(N≤100)。
接下来N行,每行输入两个数a,b(0≤a≤b≤100),表示区间的两个端点。 - 输出
- 输出一个整数,表示最少需要找几个点。
- 样例输入
41 52 41 42 331 23 45 612 2
- 样例输出
131
这题开始以为是并查集,分析以后就是求最少的相交区间,先按照升序排序,然后判断i区间与i+1区间是否相交,如果不相交的话就使结果ans++,否则判断i区间的右端点与i+1的右端点的大小,取较小的.
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct point{int x, y;}a[200];bool cmp(point xx, point yy){if (xx.x != yy.x)return xx.x<yy.x;elsereturn xx.y>yy.y;}int main(){int n;while (~scanf("%d", &n)){int ans = 1;a[0].x = 9999999;a[0].y = 9999999;for (int i = 1; i <= n; i++){scanf("%d%d", &a[i].x, &a[i].y);}sort(a+1, a + n+1, cmp);for (int i = 1; i <= n; i++){if (a[i-1].y<a[i].x)ans++;else{a[i].y = a[i-1].y<a[i].y ? a[i-1].y : a[i].y;}}printf("%d\n", ans);}return 0;}
0 0
- NYOJ 891贪心
- NYOJ 891 找点【贪心】
- nyoj 891 找点【贪心】
- 找点 NYOJ-891 【贪心】
- NYOJ 891 找点 (贪心&区间选点)
- nyoj 找点 891 (贪心)
- nyoj--891--找点(贪心)
- NYOJ 891 找点【贪心算法】
- NYOJ - 找点【贪心】
- 过河问题 NYOJ 贪心
- 贪心-nyoj-过河问题
- NYOJ 915 +-字符串【贪心】
- NYOJ 757 期末考试【贪心】
- NYOJ 6 贪心
- nyoj+区间覆盖贪心
- nyoj 阶乘之和 贪心
- nyoj 过河问题 贪心
- NYOJ 208 贪心做法
- POJO模式
- Linux内核线程的建立
- cocos2d-x lua 使用自定义消息EventCustom
- 最长上升子序列(LIS),求长度并打印子序列
- RGB颜色值与十六进制颜色码转换工具
- NYOJ 891贪心
- java中的一些网络知识
- 47.隐式动画
- github出现HTTP request failed
- 详解SESSION与COOKIE的区别
- NSIS学习笔记(二)-使用C++开发NSIS插件
- unity3d ngui-TweenRotation-TweenPosition-TweenScale
- poj 3276 Face The Right Way 关灯问题
- -1.#IND,1.#INF 的判断