8602 区间相交问题(贪心)
来源:互联网 发布:知乎怎么公共编辑问题 编辑:程序博客网 时间:2024/05/23 02:04
8602 区间相交问题
时间限制:1000MS 内存限制:1000K
提交次数:1966 通过次数:468
题型: 编程题 语言: C++;C;VC;JAVA
Description
给定x轴上n个闭区间,去掉尽可能少的闭区间,使剩下的闭区间都不相交。注意:这里,若区间与另一区间之间仅有端点是相同的,不算做区间相交。例如,[1,2]和[2,3]算是不相交区间。
输入格式
第一行一个正整数n(n<=50),表示闭区间数。接下来n行中,每行2个整数,表示闭区间的2个整数端点。
输出格式
输出去掉的最少的闭区间数。
输入样例
310 20
10 15
12 15
输出样例
2提示
这个问题基本等同于书本的活动安排问题。
作者
zhengchan
我的实现代码:
#include <iostream>#include <math.h>using namespace std;/*测试数据:310 2010 1512 15*/class Position{ public: int start; int end;};int main() { int n; cin >> n; Position a[n]; for(int i = 0; i < n; i++){ cin >> a[i].start; cin >> a[i].end; } int count = 1;// 统计留下来的区间数 int cur = 0;// 目前不相交的区间行号 Position temp; // 排序 for(int i = 0; i<n-1; i++){ for(int j = i+1; j<n; j++){ if(a[i].end > a[j].end){ temp = a[i]; a[i] = a[j]; a[j] = temp; } } } for(int i = 0; i<n; i++){ // 当前end 与 第i的start比较 if(a[cur].end <= a[i].start){ count++;// 留下的区间数+1 cur = i; } } cout << n - count << endl; return 0;}
0 0
- 8602 区间相交问题(贪心)
- 区间相交问题(贪心)
- 区间相交问题(贪心)
- 贪心:区间相交问题
- 区间相交问题(贪心入门)
- 选择不相交区间问题 (贪心)
- FOJ1230 区间相交问题(贪心)
- 贪心(1)选择不相交区间的问题
- UVALive 2326 Moving Tables(贪心+不相交区间问题)
- 区间相交问题(贪心)-算法设计与分析
- 8602 区间相交问题
- 8602 区间相交问题
- 贪心算法区间不相交问题
- 选择不相交区间(贪心)
- 贪心:最大相交区间
- ACMjava经典贪心区间问题,区间选点,不相交区间,区间覆盖
- 选择不相交区间(活动安排问题)(贪心)(HDU2037)
- 贪心算法之最大不相交区间数问题
- 【LeetCode】Sort List
- 华兴资本
- 一切成功源于积累——20141203 26时间 美瑞的反思 80个 0.1手 夜里12小时只波动60点
- 大数加法
- 又是一年大雪时,母校腊梅依傲然
- 8602 区间相交问题(贪心)
- Kettle工具的使用指南
- 一个简单的指针指向问题的讨论
- 4.Swift-集合类型
- VBA.EXCEL.批量
- 【安卓】从源码的角度深入分析Scroller
- 2014年12月3日,A Look Inside Presentation Controllers
- QT5 QList<QImage> 中后面数据将前面数据覆盖问题的解决方案
- Linux terminal 终端常用快捷键