#include <iostream>
#include <algorithm>
using namespace std;
const int N=2e5;
struct p
{
int l,r;
bool operator< (const p &W)const//重载,使sort能对结构体排序
{
return r < W.r;
}
}arr[N];
int main()
{
int T;
cin>>T;
//jingen
for(int i=0;i<T;i++)
{
cin>>arr[i].l>>arr[i].r;
}
sort(arr,arr+T);
int cnt=0,res=0;
for(int i=0;i<T;i++)
{
if(arr[i].l>=res)
{
cnt++;
res=arr[i].r;
}
}
cout<<cnt;
}
贪心思想,即求最大不相交区间数目,将割断区间保存在结构体中,按照右端点排序,判断左端点是否重叠,若未重叠,则更新选中区间的右端点所在。参与链接

京公网安备 11010502036488号