題目描述:某公司購買了長鋼條,將其切割為短鋼條**。切割工序本身沒有成本支出。公司管理層希望知道最佳的切割方案。假定我們知道**一段長為i英吋的鋼條的**為pi,鋼條的長度均為整英吋。給出乙個**表的樣例如下:
解題步驟:由於每款長度的鋼條數量無限,所以採用無限揹包的方法。
1、 狀態定義:dp[i]表示切割長度為i的鋼條的最大收益
2、 狀態轉移方程:dp[i] = max(dp[i],dp[i-len[j]]+price[j]) (i >= len[j])
3、 初始化: dp[i] = 0;
4、 輸出:dp[i]
**:
public int maxprice(int size,int price,int len)
} return dp[len];
}
動態規劃 切鋼條
一家公司購買長鋼條,將其切割成短鋼條 切割本身沒有成本,長度為i的短鋼條的 為pi。那給定一段長度為n的鋼條和乙個 表pi,求鋼條的切割方案使得收益rn最大。輸入鋼條的長度n。輸出獲得的最大收益。718 問題思路 把長度為n的鋼條看做n段長度為1的鋼條,從鋼條的最左端開始的相鄰連線點開始,可以選擇切...
動態規劃之切鋼條
填寫備忘錄表。查詢。從低到高遞迴填寫備忘錄。最初資料,經過幾次抉擇,產生更多資料。public static class dynamicprocess fill notetable.integer notetable new integer 6 notetable 0 0 filltable not...
鋼條切割問題
動態規劃的一般步驟 1.刻畫乙個最優解的結構特徵 2.遞迴定義最優解的值 3.計算最優解的值,通常採用自底向上的方法 4.利用計算出的資訊構造乙個最優解 利用動態規劃方法求解類似鋼條切割方案的這一類遞迴問題,可避免反覆求解相同的子結構,下面是樸素遞迴演算法和用動態規劃設計的遞迴演算法的相應實現。鋼條...