pku 1664 放蘋果 解題分析

2021-08-22 19:00:47 字數 435 閱讀 4992

方法一、

f(i,j):前i個盤總共放j個果的方法數,結果在f(n,m)中,1個盤時不論果數多少,只有1種方法。

f(i,j)=f(i-1,j)+f(i,j-i),前者表示第i個盤為空(保證至少1個盤空)放j個果的方法數,

後者表示沒有1個盤空的方法數,為保證這點,先在每個盤放1個,剩下j-i個任意放,

方法二、

f(i,j):前i個盤共放j個果的方法數,結果在f(n,m)中,1個盤時不論果數多少,只有1種方法。

f(i,j)=sum(f(i-1,j-k*i)),j-k*i>=0,

f(i-1,j-k*i)表示其中有k個盤各放i個的方法數。

dp是王道,狀態表示要明確,轉移方程更要考慮好,初值多少,結果在**都要想清楚。

其中方法二中用了整數拆分的思想,更清楚的解釋請看轉貼的pku 1664 放蘋果 csflx 解題分析

pku 1664 放蘋果 整數劃分

題目 放蘋果 description 把m個同樣的蘋果放在n個 同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1 是同一種分法。input 第一行是測試資料的數目t 0 t 20 以下每行均包含二個整數m和n,以空格分開。1 m,n 10。output 對...

pku 1664 放蘋果 整數拆分 解題報告

一 題目 放蘋果 二 題目意思 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1 是同一種分法。三 解決的辦法 剛開始想了很久,都想不出來!最終看到網上有關整數劃分問題,就變得簡單了!如下 整數劃分問題是將乙個正整數n拆成一組數連加...

hrbeu 放蘋果 pku 1664 動態規劃

很典型的動態規劃題 很好的演算法 f m,n f m n,n f m,n 1 f m,n 把m個蘋果放到n個盤子中的方法數 f m,n 1 把m個蘋果放到n 1個盤子中的方法數 其中至少有乙個空盤子 f m n,n 把m個蘋果放到n個盤子中,而且每個盤子中都有蘋果 先拿n個出來,等m n個放好了,然...