乘積最大 兩種DFS方法,動態規劃)

2021-10-17 18:53:08 字數 2346 閱讀 7330

今年是國際數學聯盟確定的「2000——世界數學年」,又恰逢我國著名數學家華羅庚先生誕辰90周年。

在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友 xz 也有幸得以參加。

活動中,主持人給所有參加活動的選手出了這樣一道題目:

設有乙個長度為 n 的數字串,要求選手使用 k 個乘號將它分成 k+1 個部分,找出一種分法,使得這 k+1 個部分的乘積最大。

同時,為了幫助選手能夠正確理解題意,主持人還舉了如下的乙個例子:

有乙個數字串:312, 當 n=

3,k=

1n=3,k=

1 時會有以下兩種分法:

1)3*12=

362)31*2

=62這時,符合題目要求的結果是:31*2

=62。

現在,請你幫助你的好朋友 xz 設計乙個程式,求得正確的答案。

輸入格式

第一行共有2個自然數 n,k。

第二行是乙個長度為 n 的數字串。

輸出格式

輸出所求得的最大乘積(乙個自然數)。

資料範圍

2≤n≤10

,1≤k≤6

,資料保證 k輸入樣例:42

1231

輸出樣例:

62

#include

using

namespace std;

int n,k;

string a;

int ans=0;

//記錄最大值

int cnt=0;

int path[

100]

;int

check()

int sum=1;

for(

int i=

0;isize()

;i++

)return sum;

}void

dfs(

)for

(int i=

1;i}int

main()

#include

using

namespace std;

int n,k;

string a;

int ans=0;

//記錄最大值

int path[

100]

;vector<

int>v;

intnum

(int l,

int r)

return s;

}void

dfs(

int p,

int cnt)

for(

int i=

0;i1;i++)}

}int

main()

#include

#include

#include

using

namespace std;

const

int n =

45, m =10;

int n , k;

int w[n]

;int num[n]

[n];

int f[n]

[m];

//f[i][j]表示1到i中有j個乘號的最大乘積是多少

intmain()

for(

int i =

1; i <= n ; i++

)for

(int j = i ; j <= n ;j++

)for

(int i =

1; i <= n ;i++

)f[i][0

]= num[1]

[i];

for(

int i =

1; i <= n ;i++

)for

(int j =

1; j <= k ;j++

)for

(int h =

1; h < i ; h++

) f[i]

[j]=

max(f[i]

[j], f[i-h]

[j -1]

* num[i - h +1]

[i])

;//也可以這麼列舉f[i][j] = max(f[i][j] ,

//f[h][j - 1] * num[h + 1][i]);

cout << f[n]

[k]<< endl;

return0;

}

動態規劃 乘積最大

古人云 不謀萬世者,不足謀一時 不謀全域性者,不足謀一域。張琪曼通過研究驚奇地發現,每個人一生的幸福指數可以用乙個長度為n的十進位制數字字串來表示,並且可以通過全域性統籌安排,將幸福指數分成k 1個部分應用在她感興趣的不同領域,從而使得總體幸福值最強,所謂幸福值最強,是指使得k個部分的乘積為最大。例...

《動態規劃》 乘積最大

今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手使用k個乘號將它分成...

乘積最大 動態規劃

今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手使用k個乘號將它分成...