繁体   English   中英

动态规划中的递归公式

[英]Recursion formula in dynamic programming

其中l_1 = 1,l_2 = 4,l_3 = 5是具有不同长度的块,我需要使用公式制作一个长度为l = 8的大块。

有人可以向我解释以下公式:

在此处输入图片说明

公式在LaTeX中,数组L = [l + 1]

抱歉,格式化无法上传图片。

问题似乎在于找到制作一个更大的块所需的最小块数是多少。 同样,似乎对可用的单个块的数量没有限制。

假设您有n个不同长度的块。 l1, l2 .. ln 可以用来制作一个长度为k的大块的最小块数是多少?

递归公式背后的想法是,您可以通过将一个长度为l1块添加到一个假设的长度为i-l1的大块中来制作一个长度为i的块,您可能已经使用最少的块数制作了该块(因为这就是您的L数组成立,对于任何索引j ,它持有制作一个大小为j的区块所需的最少区块数。 假设i-l1块是使用4个块构建的。 使用这4个块和另外1个大小为l1的块,您使用5个块创建了一个大小为i块。

但是现在,假设仅使用3个块制作了一个大小为i-l2块。 然后,您可以轻松地将另一个大小为l2块添加到此大小为i-l2的块,并仅使用4个块来制作大小为i块!

这就是在所有可能的块长度上进行迭代并选择所有最小块长度的想法(在乳胶图像的第三行中提到)。

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM