工作调度类似问题!
203. 有一堆的工作,每个工作有开始和结束时间,假设表示为[2,3],[3,7]等等,现在要求在[1,n]的时
间段内选出尽可能多的工作.
贪心,尽量选择结束时间最早的工作即可
看来原来我想多了,就应该这样做的==
226. N 个 job,要求分配到 M 台机器上,每个机器可以被分配 0-N 个 job,但有些 job 相互排斥不能被
放到一起执行,给出所有可能的分配方案
要给出所有方案只能递归穷举吧
怎么觉得是个NP问题==
作业有冲突的就连边,就成了独立顶点集问题(Independent set problem)。
这个题目会有这么复杂?怎么觉得作业分配问题都没有那么简单。
难道真的按照百度百科描述的解决clique problem的方法解决这个问题?
算法最简单的方法是用暴力法列举图中所有
k个点的子集合,并检查它是不是clique。在一个有
V个点的图中用暴力法找大小是
k的clique至少要检查个子集合。
另外一个heuristic的方法是先找出所有一个点的clique,再慢慢合并成更大的clique直到不能再合并为止。
这个interval tree的实现好难啊><
才发现interval tree需要好好学习!