习题编号以第三版为准。
#16.1-3 失败的贪心算法
对于活动选择问题,并不是所有贪心方法都能得到最大兼容活动子集。请举例说明,每次选择时间最短者,或最早开始者,或重叠的活动数量最小者,均不能得到最优解。
解:如图所示。(a)最早开始 (b)时间最短 (c)重叠最少。图片来自Algorithm Design chapter 4.1 by Kleinberg
#16.1-4 区间图着色问题
使用最少的教室完成所有活动。用顶点表示活动,不兼容的活动之间有一条边。使用最少的颜色对顶点着色,使得任意边的两端颜色均不相同。(interval-graph color problem)
解:见Algorithm Design by Kleinberg 4.1节最后。思考:容易将活动问题转化为顶点着色问题,如何将顶点着色转化成活动问题?因为顶点上并没有时间顺序。