The universe said eve|

Momo·Trace

园龄:3年3个月粉丝:6关注:1

选择不相交区间

题目描述

数轴上有n开区间(aibi),请选择尽量多的区间,使其两两不相交。(开区间意味着,左右两个端点是不包含的)

输入格式

第一行n

之后n行,每行两个数分别为aibi

输出格式

最多能选择的区间个数

样例

样例输入1

3
1 3
2 4
3 5

样例输出1

2

数据范围

对于20%的数据,n10

对于50%的数据,n1000

对于70%的数据,n100000

对于100%的数据,n10000000aibi1000000

代码

#include<bits/stdc++.h>
using namespace std;
struct node{
int l,r;
}a[1000005];
bool cmp(node x,node y)
{
return x.r<=y.r;
}
int main()
{
int n;
cin >> n;
for(int i=1;i<=n;i++)
{
cin >> a[i].l >> a[i].r;
}
sort(a+1,a+n+1,cmp);
int ans=0;
int last=-1;
for(int i=1;i<=n;i++)
{
if(a[i].l>=last)
{
ans++;
last=a[i].r;
}
}
cout << ans;
return 0;
}
posted @   Momo·Trace  阅读(15)  评论(0编辑  收藏  举报
评论
收藏
关注
推荐
深色
回顶
收起
点击右上角即可分享
微信分享提示