簡體   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