题意解释

P2434 [SDOI2005] 区间

【分析】 首先明确一个问题:假设有两个区间x,y,区间x完全包含y。那么,选x是不划算的,因 为x和y最多只能选一个,选x还不如选y,这样不仅区间数目不会减少,而且给其他区间留出 了更多的位置。接下来,按照b i 从小到大的顺序给区间排序。贪心策略是:一定要选第一个 区间。为什么? 现在区间已经排序成b 1 ≤b 2 ≤b 3 …了,考虑a 1 和a 2 的大小关系。 情况1:a 1 >a 2 ,如图8-7(a)所示,区间2包含区间1。前面已经讨论过,这种情况下一 定不会选择区间2。不仅区间2如此,以后所有区间中只要有一个i满足a 1 >a i ,i都不要选。在 今后的讨论中,将不考虑这些区间。 情况2:排除了情况1,一定有a 1 ≤a 2 ≤a 3 ≤…,如图8-7(b)所示。如果区间2和区间1完全 不相交,那么没有影响(因此一定要选区间1),否则区间1和区间2最多只能选一个。如果 不选区间2,黑色部分其实是没有任何影响的(它不会挡住任何一个区间),区间1的有效部 分其实变成了灰色部分,它被区间2所包含!由刚才的结论,区间2是不能选的。依此类推, 不能因为选任何区间而放弃区间1,因此选择区间1是明智的。 ![](https://cdn.luogu.com.cn/upload/pic/15241.png) 选择了区间1以后,需要把所有和区间1相交的区间排除在外,需要记录上一个被选择的 区间编号。这样,在排序后只需要扫描一次即可完成贪心过程,得到正确结果。 区间选点问题。数轴上有n个闭区间[a i , b i ]。取尽量少的点,使得每个区间内都至少有 一个点(不同区间内含的点可以是同一个)。 ————以上摘抄总结于《算法竞赛入门经典》
by HuangBo @ 2018-03-06 17:47:33


题面不是说闭区间的么?
by _小妖 @ 2018-03-08 18:16:44


|