的箱子的数量,这是对的算法大师一个问题在那里:-)最小化,涵盖一组给定的时间间隔
让S
是一组自然数的区间的可能重叠,b
一箱尺寸。假设对于每个间隔,范围严格小于b
。
我想找到的最小集合大小b
的间隔(我们称之为M
)所以在S
所有时间间隔都包含在M
间隔。
简单的例子:
S = {[1..4], [2..7], [3..5], [8..15], [9..13]}
b = 10
M = {[1..10], [8..18]}
// so ([1..4], [2..7], [3..5]) are inside [1..10] and ([8..15], [9..13]) are inside [8..18]
我认为贪心算法可能并不总是有效,所以如果有人对这个问题的解决方案(或类似一个可以转换成)的人都知道,这将是巨大的。
谢谢!
更新我一直在思考多一点吧,也许我的第一直觉是错的,贪婪算法就是解决这个问题的方法,在结束时,所有的间隔需要被覆盖,如何选择超级间隔不会有什么区别......我应该删除问题还是有人可以断言这个问题?
是的,这就是我在想什么......我只是拒绝相信解决方案就像这个xD一样简单 – fortran