HDU 1284 錢幣兌換問題 動態規劃完全揹包

2022-08-09 01:51:20 字數 583 閱讀 3362

題意:給個整數n(分),只能用1分,2分,3分,進行兌換,計算出有多少種兌換方法。

坑爹:簡單的完全揹包。

解法:當前的兌換方法 f [ j ] 等於放入某一種錢幣和沒放入某一種錢幣之和,放入某種錢幣又分放了多少個,

將放了1到最多個的 方法加起來就是放入某種錢幣之和 。

view code

1 #include2

using

namespace

std;34

const

int maxn = 32768 + 10;5

const

int inf = -1 * 0x7fffffff;6

intn;

7int

f[maxn];89

int max(int a,int

b)10

1314

void complete(int

cost)

1521}22

23int

main()

2434 cout

36return0;

37 }

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錢幣兌換

這個是完全揹包的基礎題,模擬換錢,剛開始狀態方程寫錯了,我直接寫dp i dp i 1 dp i 2 dp i 3 然後想了想感覺太大了,不太對,後來看網上的 看著兩層for迴圈,基本是一樣的,為什麼我的不對啊,然後手工模擬了乙個小例子,發現,這種狀態轉移方程算重了,多加了好多重複的,因為完全揹包和...

hdu 1284 錢幣兌換問題

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