题目描述
考虑如下的一个简单问题:
你有 n 个线段在数轴上,你要选出尽量多的线段,使它们两两不交。
我知道你一定会做,但你需要解决这个:
你有 n 个线段在数轴上,你要选出尽量多的线段对 (ui,vi)i=1k,即最大化 k。
满足 k+1 个要求:
- u1,u2,⋯,uk 两两不交。
- v1,u2,u3,⋯,uk 两两不交。
- u1,v2,u3,u4,⋯,uk 两两不交。
- ⋯
- u1,u2,⋯,uk−1,vk 两两不交。
其中 ∀i,ui 与 vi 不能相同。
输入格式
第一行一个正整数 n(n≥2)。
接下来 n 行每行两个正整数 ai,bi(1≤ai<bi≤109),表示一个线段的两个端点。
两个线段 i,j 不交当且仅当 bi≤aj 或 bj≤ai。
输出格式
第一行一个正整数 k。
样例 #1
样例输入 #1
8
1 5
3 10
4 8
9 12
11 16
14 15
20 22
15 21
样例输出 #1
3
子任务编号 |
限制 |
分值 |
1 |
n≤3000 |
40 |
2 |
n≤500000 |
60 |