SSL 1595 加法最大 區間動態規劃

2021-08-13 15:55:52 字數 785 閱讀 7508

設有乙個長度為n的數字字串,分成k+1個部份,使其k+1部份相加的和為最大。例如:數字串』340670』,k=1,其加法有 :3+40670=40673 34+0670=704 340+670=1010 3406+70=3476 34076+0=34076

其最大和為40676。問題:當數字串和k給出後,找出乙個分法使和為最大。

6 1

340670

這道題目是區間動態規劃的經典題目之一,等同於乘法最大,只不過將乘號換成加號而已。

#include

#include

using

namespace

std;

long

long a[11][11],f[11][11],s;

int n,i,k,k1,j;

int main()

for (i=2;i<=n;i++)

for (j=i-1;j>=1;j--)

a[j][i]=a[j][i-1]*10+a[i][i];

for (i=1;i<=n;i++)

f[i][0]=a[1][i];

for (k=1;k<=k1;k++)

for (i=k+1;i<=n;i++)

for (j=k;j1]+a[j+1][i]); //乘號換成加號

printf("%lld\n",f[n][k1]);

return

0; }

SSL 加法最大

設有乙個長度為n的數字字串,分成k 1個部份,使其k 1部份相加的和為最大。例如 數字串 340670 k 1,其加法有 3 40670 40673 34 0670 704 340 670 1010 3406 70 3476 34076 0 34076 其最大和為40673。問題 當數字串和k給出後...

java SWT實現最簡單的加法器

練練手 從這裡學的 難點 怎樣把輸入字串轉換成double型 import org.eclipse.swt.swt public class test catch exception e open the window.public void open create contents of the ...

大數問題 大數加法 與 大數乘法 最簡單大數乘法

大數加法很簡單,大叔乘法只是以大數加法為基礎的,光從難度來說,兩者差不多。先舉乙個簡單的例子 所以乘法就是每一位個位數相乘再乘以多少次方就可以了,這個多少次就是兩者的陣列位置的索引相加。看看關鍵 for int i 0 i alen i else result plus result,c heigh...