HDU 1284錢幣兌換

2022-05-24 10:03:07 字數 503 閱讀 6878

這個是完全揹包的基礎題, 模擬換錢, 剛開始狀態方程寫錯了,我直接寫dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3], 然後想了想感覺太大了,不太對,後來看網上的**看著兩層for迴圈,基本是一樣的,為什麼我的不對啊,然後手工模擬了乙個小例子,發現,這種狀態轉移方程算重了,多加了好多重複的,因為完全揹包和01揹包**的的區別,就是第二層for迴圈的順序,所以這個題也不例外,這個題是完全揹包,因為它可以無限取,**如下

1 #include 2 #include 3

4using

namespace

std;

5const

int n = 40000;6

long

long

dp[n];

7int

main()816

intn;

17while (cin >>n)

1821

22return0;

23 }

hdu 1284 錢幣兌換

主題思想 這題有兩種主流思路 母函式方法,和動態規劃方法。先說母函式方法,母函式方法,模擬多項式乘法,這裡,有個技巧就是,利用陣列下標表示多項式指數。模擬 1 x x 2 x 3 x 4 1 x 2 x 4 x 6 1 x 3 x 6 x 9 由於是n是有限制的,所以開闢n 1大小的陣列,模擬乘法。...

hdu 1284 錢幣兌換問題

problem description 在乙個國家僅有1分,2分,3分硬幣,將錢n兌換成硬幣有很多種兌法。請你程式設計序計算出共有多少種兌法。input 每行只有乙個正整數n,n小於32768。output 對應每個輸入,輸出兌換方法數。sample input 2934 12553 sample ...

HDU 1284 錢幣兌換問題

題意 在乙個國家僅有1分,2分,3分硬幣,將錢n兌換成硬幣有很多種兌法。請你程式設計序計算出共有多少種兌法。分析 可以用母函式,也可以用dp dp n m 表示錢n用前m種硬幣的兌換方式 1 m 1 dp n,m dp n,n n m 1 dp n,n 1 n m dp n,m 1 dp n m,m...