dp題用兩個陣列,
w[i][j]表示第i位到第j位所組成的10進製數
dp[i][j]表示前i位分成j段得到的最大積
可以得到乙個dp方程:
if(j==1) dp[i][j]=w[1][i];
if(j>1 && j<=i) dp[i][j]=max
然後初始化陣列dp[i][j],
for(i=1;i<=n;i++) dp[i][1]=w[1][i];
表示前i位構成1段的最大積等於第1位到第i位組成的十進位制數..
dp過程
for(i=1;i<=n;i++) for(j=2;j<=k;j++) dp[i][j]=max; }
最後輸出dp[n][k], 即前n位分成k段所得到的最大積
FZU 1208 最大k乘積問題
設i是乙個n位十進位制整數。如果將i劃分為k段,則可得到k個整數。這k個整數的乘積稱為i的乙個k乘積。試設計乙個演算法,對於給定的i和k,求出i的最大k乘積。對於給定的i和k,程式設計計算i的最大k乘積。輸入檔案由多組資料組成。每組資料格式如下 第1行中有2個正整數n和k。正整數n是序列的長度 正整...
最大k乘積問題
設i是乙個n位十進位制整數。如果將i分割為k段,則可得到k個整數。這k個整數的乘積稱為i的乙個k乘積。試設計乙個演算法,對於給定的i和k,求出i的最大k乘積。設w i j 表示從第i位到第j位的數字表示的整數,m i j 表示前i位分成j段所得到的最大乘積,則 m i 1 w 1 i m i j m...
dp 最大k乘積問題
問題描述 設i是乙個 n位十進位制整數。如果將i劃分為 k段,則可得到k個整數。這k個整數的乘積稱為i 的乙個 k乘積。試設計乙個演算法,對於給定的 i和 k,求出 i的最大 k乘積。程式設計任務 對於給定的i和k,程式設計計算i的最大k 乘積。資料輸入 由檔案input.txt提供輸入資料。檔案的...