给定一个时间间隔列表,我需要找到一组最大非重叠间隔。
例如,
如果我们有以下间隔:
[0600, 0830], [0800, 0900], [0900, 1100], [0900, 1130],
[1030, 1400], [1230, 1400]
还规定时间必须在范围内[0000, 2400]
。
最大不重叠的间隔集是[0600, 0830], [0900, 1130], [1230, 1400]
。
我知道最大集装箱是 NP-Complete 的。我想确认我的问题(间隔仅包含开始和结束时间)是否也是 NP-Complete。
如果是这样,有没有办法在指数时间内找到最佳解决方案,但需要更智能的预处理和修剪数据。或者如果有一个相对容易实现的固定参数易处理算法。我不想使用近似算法。