HDU 2037 区间相交问题系列之一

这个问题可以简化成这个样子。

我们有好多个区间,让你尽可能的选出尽量多的不重复的区间。

这是贪心思想经典的区间相交问题的一种。


解决这种问题方法比较简单。

1.以右端点位基准,对区间进行排序。

2.只要下一个区间不与前面的区间相交,就要着,否则就不要。

3.维护一个界限。


要具体的解释的话,找找别人的博客吧~

ac代码如下

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const int maxn=110;
const int inf=0x3f3f3f3f;
typedef pair P;

struct p
{
    int l,r;
}sta[maxn];

bool cmp(p a, p b)
{
    if(a.r!=b.r) return a.r=b)
                {
                    cnt++;
                    b=sta[i+1].r;
                }
            }

            printf("%d\n",cnt);
        }
}

你可能感兴趣的:(贪心)