【发布时间】:2013-06-21 09:14:56
【问题描述】:
假设我有一个循环时间线(24 小时周期),在这 24 小时内有 n 个点。我想以给定的固定长度 k (
如果我们不允许间隔“环绕”,那么它变得容易(我们可以简单地贪婪地安排第一个间隔从第一个点开始,覆盖尽可能多的点并为下一个间隔选择下一个点等等)。
一个天真的二次解决方案是尝试将每个点作为“第一个”区间的起点并按照上述方式进行操作,但我觉得我们可以做一些更聪明的事情?
【问题讨论】:
-
一个可能微不足道的问题:是否允许间隔重叠?如果 24/k 不是整数且区间不能重叠且所有区间的长度 k 相同,则可能无解。
-
哦,是的,如果需要,它们可以重叠。
-
我的直觉是,在点之间最长的空白间隙的端点之一开始第一个间隔的贪婪方法应该是最佳的,但我很难想出一个证明。任何人都有任何有助于证明/反驳的见解?
标签: algorithm scheduling intervals