簡單dp題
problem description
yukina非常樂於助人,他每天都會抽出時間幫助一些同學解決**問題,因為yukina很古板,講究"先來後到"的原則,所以yukina不會先幫助後來找他的同學。
如今有n個同學需要他的幫助,儘管他非常想一天之類幫助全部人,但畢竟精力有限,於是他決定分m天來幫助他們。
依據事情的重要性,yukina幫助不同同學會有不同的能力值。而yukina獲得的總的能力值為每天獲得的能力值的乘積。
現在給出n和m,以及幫助完各同學時獲得的能力值,求yukina能獲得的最大能力值。
input
輸入第一行兩個整數n,m(1 <= m <= min(n,20); 1 <= n <= 20)
第二行為n個整數,表示幫助這個同學的獲得的能力值,每乙個快樂值不大於5
output
輸出yukina能獲得的最大能力值
sample input:
425
335
sample output:
64分析
狀態表示:dp[i][j]表示i個人分成j天幫助所獲得的能力值
狀態轉移
把k個人分成j-1天完成幫助,剩下的人在另一天完成幫助,取兩者的最大值。
dp[i]
[j]=
max(dp[i]
[j],dp[k]
[j-1]*
(sum[i]
-sum[k]))
;
三層迴圈
for
(int i=
1;i<=n;i++
)//表示人數
for(
int j=
1;j<=m;j++
)memset
(dp,0,
sizeof
(dp));
for(
int i=
0;i<=n;i++
)for
(int j=
0;j<=m;j++
) dp[i]
[j]=1;
//cout(int i=
1;i<=n;i++
)//表示人數
for(
int j=
1;j<=m;j++)}
cout<[m];
return0;
}
職場之道 A同學和B同學
以下摘自 阿里巴巴離職dba 35歲總結的職業生涯 在阿里最深刻的,還是職場之道給我的震撼。在此,引用一位 puber 的發帖 a 同學,遇到問題,召集會議寫報告搞風險評估,鳳鳳火火,完事後到處匯報心得,各部門都知道了資料部的功勞。b 同學,遇到問題,默默乙個人搞定。這b同學確實厲害,很多問題都獨立...
恰同學少年
最近,我又有了當學生的躁動。看來與老師的緣分還在,而且我的目標也比較遠大,發奮要讀到博士才夠量。其實學習是沒盡頭的,之所以選擇出來工作幾年,一是不想當書呆子,特別是姥爺在我初中時就一直說我是不食人間煙火的書呆子,當時我自己卻不覺得,等到家裡需要我賺錢的時候,才猛然發現自己真的是對在現實世界如何賺錢一...
同學的婚禮
我的手機總是給我恐懼,這個隨身攜帶,損害我身體的小傢伙,在菜市場準備買菜時它響了,我忙亂了起來,手裡拿著2斤豬肉,2斤鯰魚,還揹著2個包,正在掏錢時,它響了,一看陌生的號碼,很窘的拿起它,我的手機最近也被我摔得很窘,除了功能正常,再沒有什麼是正常了,在眾目睽睽下拿起了它,我就更窘起來,因為他們好像看...