活动安排(选择)问题拓展
2015-11-23 17:21
351 查看
1.区间图着色 Interval-graph Coloring Problem
假设要用很多个教室对一组活动进行调度。我们希望使用尽可能少的教室来调度所有的活动。请给出一个有效的贪心算法,来确定最少教室数。(这个问题也被称为区间图着色(interval-graph coloring)问题。我们可作出一个区间图,其顶点为已知的活动,其边连接着不兼容的活动。为使任两个相邻结点的颜色均不相同,所需的最少颜色数对应于找出调度给定的所有活动所需的最少教室数。)
模拟思路:
对于活动的开始时间和结束时间点进行排序。维护两个盒子,busy_classroom_num、free_classroom_num。扫描排序的时间t,若t为一个活动的开始时间,我们从free_classroom_num–,busy_classroom_num++。如果,在free_classroom_num–之前,free_classroom_num已经为0,则新生成一个教室,直接busy_classroom_num++。若t为一个活动的结束时间,我们从busy_classroom_num–,free_classroom_num++。时间扫描完毕,free_classroom_num为最少的教室数。
2.值之和最大的兼容活动子集
待学习:http://m.blog.csdn.net/blog/shakingWaves/23026571#
假设要用很多个教室对一组活动进行调度。我们希望使用尽可能少的教室来调度所有的活动。请给出一个有效的贪心算法,来确定最少教室数。(这个问题也被称为区间图着色(interval-graph coloring)问题。我们可作出一个区间图,其顶点为已知的活动,其边连接着不兼容的活动。为使任两个相邻结点的颜色均不相同,所需的最少颜色数对应于找出调度给定的所有活动所需的最少教室数。)
模拟思路:
对于活动的开始时间和结束时间点进行排序。维护两个盒子,busy_classroom_num、free_classroom_num。扫描排序的时间t,若t为一个活动的开始时间,我们从free_classroom_num–,busy_classroom_num++。如果,在free_classroom_num–之前,free_classroom_num已经为0,则新生成一个教室,直接busy_classroom_num++。若t为一个活动的结束时间,我们从busy_classroom_num–,free_classroom_num++。时间扫描完毕,free_classroom_num为最少的教室数。
2.值之和最大的兼容活动子集
待学习:http://m.blog.csdn.net/blog/shakingWaves/23026571#
相关文章推荐
- 用java提取A文本在B文本中不存在的测点
- java面向对象基础知识(一)
- BaseDao
- Nginx反向代理讲解和配置
- 活动安排(选择)问题拓展
- MFC中将CEdit设置光标当前位置在编辑框最后
- win7系统软件升级时总是弹出“0X80070643”错误代码的故障分析及解决方法
- Java实现二叉搜索树
- 对于BLock的学习
- 一个有关录音的小demo
- HTML5 Canvas Arc
- 1.4 Under the covers
- Linux下编译Phantomjs
- 第十三周项目1--Prim算法的验证
- Swiper说明&&API手册
- 第十二周 项目5-迷宫问题之图深度优先遍历解法
- 第十二周项目--深度优先遍历——DFS
- Unity 3D网页游戏与flash网页游戏的较量
- 句柄泄露与CloseHandle()
- hibernate映射组件