区间图着色问题

假设要用很多个教室对一组活动进行调度。我们希望使用尽可能少的教室来调度所有的活动。请给出一个有效的贪心算法,来确定哪一个活动应该使用哪一个教室。

(这个问题也被称为区间图着色)问题。我们可以作出一个区间图,其顶点为已知的活动,其边连接着不兼容的活动。为使任两个相邻结点的颜色均不同,所需的最少颜色数对应于找出调度给定的所有活动所需的最少教室数。

最优子结构:

设S为原问题所有活动的集合;

设A为原问题的最优解;现在去除任意一种颜色×(设其所容纳的活动的集合为Sx);那么其剩余的方案为子问题S-Sx的最优解;若不是着可设能找到颜色数更少的方案;那么这种方案加上最后一颜色x所组成的方案比假设的最优解所用的方案数少;导出矛盾,所以A是最优解。

其最优子结构是:

C[M] =  min(C[M-x]) + 1

递归动态规划解:

 

 

递归贪心解:

 

迭代贪心解:

转载于:https://www.cnblogs.com/whyandinside/archive/2012/05/28/2520771.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值