foj 1208 最大k乘積問題

2021-08-25 04:47:30 字數 384 閱讀 1300

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提供輸入資料。檔案的...