Dp之最大不相交区间数量

40 阅读1分钟

---今天没有讲解,hh应该是第一次在acwing没看题解的情况下achhhh

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e5 + 10;
int n;
struct Ange{
    int l,r;
}ange[N];
bool cmp(Ange a,Ange b)
{
    return a.r < b.r;
}
int main()
{
    cin >> n;
    for(int i = 0; i < n; i ++ )
    {
        int a,b;
        cin >> a >> b;
        ange[i].l = a;
        ange[i].r = b;
    }
    sort(ange,ange + n,cmp);
    int res = 0,ed = -2e9;
    for(int i = 0; i < n; i ++) 
    {
        if(ange[i].l > ed)
        {
            res ++;
            ed = ange[i].r;
        }
    }
    cout << res << endl;
    return 0;
}