【转载】【贪心】各种覆盖问题
1、独立区间问题
在N个区间里找出最多的互不覆盖的区间
对结束点进行排序,然后从结束点最小的区间开始进行选择即可
2、覆盖区间问题
给一个大区间,再给出N个小区间,求出最少用多少个区间可以把大区间覆盖完
先选出开始的一个,然后选开始点在这个区间里结束点最大的区间,然后以次类推
3、区间的最小点覆盖
给出N个区间,算出最小的点数使得每个区间里至少有一个点
法1)对结束点进行排序(从小到大),然后依次将各个区间的最后点标号(必须判断其是否已标记)
法2)对开始点进行排序(从大到小),然后依次将各个区间的开始点标号(必须判断其是否已标记)
法3)先将包含了其他区间的区间除去,然后对开始点进行排序,然后从小到大对结束点标记(必须判断其是否已标记)
4、点的最小区间覆盖
给出N个点,用M个区间进行覆盖,使区间总常最小
将相邻点之间差距由大到小排序,用个大区间将所有点覆盖,然后再将差距大的依次断开
——The Solution By AutSky_JadeK From UESTC
转载请注明出处:http://www.cnblogs.com/autsky-jadek/