【问题标题】:Variation of weighted interval scheduling given fixed number of classrooms给定教室数量的加权间隔调度的变化
【发布时间】:2016-08-10 05:46:34
【问题描述】:

我有一个关于在给定教室数量的情况下解决加权间隔调度问题的问题。所以,最初,我们有一组间隔,每个间隔都有一个开始时间和结束时间,每个间隔都有一个权重。因此,问题的目的是在两个教室中找到一个最大化权重的调度。有没有一种有效的方法通过动态编程来做到这一点?

我的方法很简单,因为我构建了一个算法,可以简单地最大化每个教室的间隔。有没有更好的方法来做到这一点?

【问题讨论】:

    标签: dynamic-programming


    【解决方案1】:

    我的想法不是完全动态编程。但我认为这会有所帮助。

    1. 按开始时间对所有课程进行排序。
    2. 现在对于一个类 i 找到下一个类 j,它的开始时间大于或等于这个结束时间。 (使用二分查找可以找到这个,因为我们有一个按开始时间排序的排序数组)
    3. 假设 max_so_far 是一个数组,并且 max_so_far[z] 包含从 z 到 last
    4. 的 max_weight 类
    5. 对于所有i,求class[i]的权重和权重max_so_far[j]之和的最大值

    请找到代码here 这段代码的时间复杂度是 O(nLog(n))。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      相关资源
      最近更新 更多