題目描述:
假設公司**一段長度為i英吋的鋼條的**為pi(i = 1, 2, ...單位:美元),下面給出了**錶樣例:
長度i 1 2 3 4 5 6 7 8 9 10
**pi 1 5 8 9 10 17 17 20 24 30
切割鋼條的問題是這樣的:給定一段長度為n英吋的鋼條和乙個**表pi,求切割方案,使得銷售收益rn最大。
分析思路:r[n] = max( p[i] + r[n - i] ), 記錄1到n的所有對應的 i 值 按此輸出結果
#include#includeusing namespace std;
int price[11] = ;
int first_cut_point[11] = ;
int profitmax(int n)
} return profitmax;
}int main()
}}
鋼條切割問題
動態規劃的一般步驟 1.刻畫乙個最優解的結構特徵 2.遞迴定義最優解的值 3.計算最優解的值,通常採用自底向上的方法 4.利用計算出的資訊構造乙個最優解 利用動態規劃方法求解類似鋼條切割方案的這一類遞迴問題,可避免反覆求解相同的子結構,下面是樸素遞迴演算法和用動態規劃設計的遞迴演算法的相應實現。鋼條...
鋼條切割問題
class program 索引代表 鋼條的長度,值代表 console.writeline updown 0 p console.writeline updown 1 p console.writeline updown 2 p console.writeline updown 3 p conso...
鋼條切割問題
對應於演算法導論上的鋼條切割問題。package dynamic programming 動態優化問題之鋼條切割問題 長度i 1 2 3 4 5 6 7 8 9 10 p 1 5 8 9 10 17 17 20 24 30 問題,對於長度為i的鋼條,怎麼切割,使之價值最大。public class ...