#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int>PII;
vector<PII>v;
int n,st = -2e9,ed = -2e9;
const int N = 1e5+10;
struct node{
int l,r;
}a[N];
bool cmp(node x,node y){
if(x.l!=y.l)return x.l<y.l;
else return x.r>y.r;
}
int main(){
scanf("%d",&n);
for(int i = 1;i<=n;i++){
scanf("%d%d",&a[i].l,&a[i].r);
}
sort(a+1,a+1+n,cmp);
for(int i = 1;i<=n;i++){
if(ed<a[i].l){
if(ed!=-2e9)v.push_back({st,ed});
st = a[i].l;ed = a[i].r;
}
else if(ed<a[i].r){
ed = a[i].r;
}
}
v.push_back({st,ed});
// for(auto it:v){
// cout<<it.first<<" "<<it.second<<'\n';
// }//可以把每个区间列出
cout<<v.size();
}
区间合并
最新推荐文章于 2024-10-13 16:55:28 发布