选择不相交区间

原创 2013年12月03日 19:42:42
/****思路:
为什么要这样做呢;
首先分析一下题意,就是选择尽量多的不相交区间,那么我们就要去掉一些区间,使剩下
的区间不相交,那么我们要去掉什么样的区间呢?
我们假设区间 [a1,b1],[a2,b2]
1,如果a1<a2&&b1>b2,我们说区间1包含区间2,那么我们就要去掉区间1;
2,如果a1>a2&&b1>b2, 这时候我们仍然要去掉区间1,因为这样能够是我们选择的时间更多;
3,
4,
3和4 只不过是把a1和a2变变顺序
结合一二两点那么算法也就出来了
1,首先对区间按照b排序,那么我们只要a2>b1 的也就是变相的去掉了,1,2,哪两种情况
*/

#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
struct Node
{
    int x,y;
}a[10008];
bool cmp(Node a,Node b)
{
    return a.y<=b.y;
}
int main()
{
    int icase;
    int n,m;
    scanf("%d",&icase);
    while(icase--)
    {
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        scanf("%d%d",&a[i].x,&a[i].y);
        sort(a,a+n,cmp);
        int abs = -1;
        int cn = 0;
        for(int i=0;i<n;i++)
        {
            if(a[i].x>abs){
            abs = a[i].y;
            cn++;
            }
        }
        printf("%d\n",cn);

    }
}

nyoj 966 选择不相交区间

选择不相交区间 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述   好吧。这道题的目的在于让大家认识贪心问题的三个区间经典问题:区间选点问题,区间覆盖问题,以...
  • wuxiushu
  • wuxiushu
  • 2015年07月22日 20:27
  • 573

ACM知识点 之 贪心(2)选择不相交区间

转载地址:http://blog.csdn.net/liuxucoder 之前基本了解了贪心的基本思想,现在我们来看一下比较经典的几个贪心问题。  这篇文章讨论的是”选择不相交区间“,具体什么...
  • xia842655187
  • xia842655187
  • 2016年07月18日 19:26
  • 1260

NYOJ - 14 - 会场安排问题(区间相关问题---选择不相交区间-贪心算法)

描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想...
  • qq_34594236
  • qq_34594236
  • 2016年10月19日 17:10
  • 260

选择不相交区间(贪心算法) By ACReaper

题目的分析被说得有点绕。自己理解是这样,首先由题目我们知道选择的区间都是相互不相交的,除这之外,我们的目标是尽量的让选择的区间达到最大化。 所以我们可以先对齐排序,因为输入是随机的。假设每个区间表示...
  • sixleaves
  • sixleaves
  • 2013年04月05日 23:09
  • 2170

贪心(1)选择不相交区间的问题

问题描述:数轴上有n个开区间,选择尽量多的区间,使得这些区间liangl
  • liusuangeng
  • liusuangeng
  • 2014年08月12日 18:57
  • 521

贪心法:最大不相交区间数

数轴上有n个区间[ai,bi],要求选择尽量多个区间,使得这些区间两两没有公共点。 贪心策略: 按照b1 按bi排序后,接下来一定要选第一个区间;以后就依次选跟前面已选的区间不相交的区间; 证明...
  • gao1440156051
  • gao1440156051
  • 2015年11月17日 10:04
  • 888

ACMjava经典贪心区间问题,区间选点,不相交区间,区间覆盖

package com.supermars.practice; import java.util.Arrays; import java.util.Comparator; import ja...
  • superMarss
  • superMarss
  • 2014年04月17日 20:20
  • 868

贪心——区间覆盖问题之最大不相交覆盖问题

最大不相交覆盖问题:问题描述: 给定一个长度为m的区间,再给出n条区间的起点和终点,问题是从中选取尽量多的区间,使得每个区间都是独立的,即不和其它任何区间相交。方法 先将n个区间按照右端点进行递增排...
  • karry_zzj
  • karry_zzj
  • 2017年04月28日 10:48
  • 407

求不相交区间的最多个数

数轴上有多个区间【ai,】
  • bianchengx
  • bianchengx
  • 2014年07月29日 20:40
  • 615

贪心算法-最大不相交区间数问题

数学模型 数轴上有n个区间[Ai,Bi],要求选择尽量多个区间,使得这些区间两两没有公共点。 解题思路贪心策略,按照B1...
  • xdqkid
  • xdqkid
  • 2017年04月13日 18:54
  • 707
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:选择不相交区间
举报原因:
原因补充:

(最多只允许输入30个字)