1

我一直在努力尝试定义一个递归函数来找出动态编程问题的解决方案。问题如下:

我们想教授一门课程,并且必须涵盖 n 个主题。每节课的长度为L分钟。每个主题都需要t1,t2,...,tn ( 1 ≤ ti ≤ L)几分钟。对于每个主题,您必须决定应该在哪个讲座中涵盖它。主题不能分开,必须按顺序进行。

还有一个不满意公式(DI),我们可以在特定的讲座中有空闲时间(在时间 t 没有主题),但这会影响或有利于 DI 的整体价值。

我需要尽量减少讲座的数量;如果有不止一种分配主题的方式,我也需要最小化 DI。

我正在考虑这样的递归函数来解决问题:

M(j) = 最大值 {M(j-1) + t[j] <= L}

但我认为这是不对的。问题是我需要以某种方式对主题进行分组,以使它们的时间总和小于或等于 L,并至少构建一个讲座。

有人可以帮我吗?

4

0 回答 0