我一直在努力尝试定义递归函数来找出动态编程问题的解决方案。问题如下:
我们想教一门课程,必须涵盖n个主题。每节课的长度为L
分钟。主题每个都需要t1,t2,...,tn ( 1 ≤ ti ≤ L)
分钟。对于每个主题,您必须决定应该涵盖哪个讲座。这些主题不能分开,必须按顺序进行。
还有一个不满意的公式(DI),我们可以在特定的讲座中有空闲时间(在时间t没有主题),但这将影响或有益于DI整体价值。
我需要尽量减少讲座次数;如果有多种方式分配主题,我也需要尽量减少DI。
我正在考虑像这样的递归函数来解决问题:
M(j)= max {M(j-1)+ t [j]< = L}
但我不认为这是对的。问题在于我需要以某种方式对主题进行分组,使得他们的时间总和小于或等于L并且还至少构建一个讲座。
有人能帮助我吗?