问题描述
给定 N N N 个闭区间 [ a i , b i ] [a_i,b_i] [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。
输出选择的点的最小数量。
位于区间端点上的点也算作区间内。
输入格式
第一行包含整数 N N N,表示区间数。
接下来 N N N 行,每行包含两个整数 a i , b i a_i,b_i ai,bi,表示一个区间的两个端点。
输出格式
输出一个整数,表示所需的点的最小数量。
数据范围
1
≤
N
≤
1
0
5
1 \le N \le 10^5
1≤N≤105,
−
1
0
9
≤
a
i
≤
b
i
≤
1
0
9
-10^9 \le a_i \le b_i \le 10^9
−109≤ai≤bi≤109
输入样例:
3
-1 1
2 4
3 5
输出样例:
2
# -*- coding: UTF-8 -*-
'''
@Project :Algorithm
@File :905. 区间选点.py
@IDE :PyCharm
@Author :猫天意
@Date :2024/8/7 16:36:38
'''
li = []
n = int(input())
for i in range(n):
a, b = map(int, input().split())
li.append((a, b))
li.sort(key=lambda x: x[1])
res, ed = 0, -2e9
for i in range(n):
if li[i][0] > ed:
res += 1
ed = li[i][1]
print(res)