给定
输出选择的点的最小数量。
位于区间端点上的点也算作区间内。
第一行包含整数
接下来
输出一个整数,表示所需的点的最小数量。
3
-1 1
2 4
3 5
2
前置题目:0000
前置知识:无
本题知识:贪心-区间问题
思路:
- 将每个区间按右端点从小到大排序
- 从前往后依次枚举每个区间
- 如果当前区间中已经包含点,则pass
- 否则,选择当前区间的右端点
贪心问题思路不复杂,难点在证明算法的正确性
证明:设题目的答案为 i,算法求出来的是 j,证明 i == j
- i <= j 按照上述思路求出的解,可以覆盖所有区间满足题意,i 是满足题意的最小值,故 i <= j
- i >= j 按照上述思路求得的 j 个区间两两不交,所以覆盖所有区间最少需要 j 个点,故 i >= j
- i == j ∎