動態規劃做題思路

2021-10-10 12:00:10 字數 625 閱讀 9297

1、計數

2、求最大值最小值

3、求存在性

一:確定狀態

(1)最後一步

(2)確定子問題

二:轉移方程

三:初始條件和邊界情況

四:計算順序

有2元,5元,7元硬幣,求組合成27元硬幣所用最少硬幣數。

找出最後一步:最優策略是k枚硬幣a1,a2……ak加起來是27

最後一枚為ak,則前面的面值加起來是27-ak

子問題:最少用多少枚硬幣可以拼出27-ak

設狀態f[x]=最少用多少枚硬幣拼出x

對於任何x

f[x]=min

從f[1]開始計算,當計算到f[x]時,f[x-2],f[x-5],f[x-7]都已經得到結果,可以計算

o(m×n)

class solution ;}}

} if (f[m] == int_max)

else

return 0;

}};

動態規劃解題思路

在leetcode上看題解與結合自己的想法得出思路。首先明確 dp 陣列所存資料的含義。這步很重要,如果不得當或者不夠清晰,會阻礙之後的步驟。然後根據 dp 陣列的定義,假設 dp 0 i 1 dp 0 i 1 都已知,想辦法求出 dp i dp i 一旦這一步完成,整個題目基本就解決了。但如果無法...

動態規劃解題思路

一直以來,對動態規劃的理解處於乙個模糊的狀態,就是一種似乎懂但遇到問題未必能行的狀態 然後,最近重點在leetcode上找了一些動態規劃的題目做了一下,逐漸有了一些思路。我覺得leetcode上對動態規劃思想的概括非常到位,所以記錄在這裡 動態規劃 英語 dynamic programming,簡稱...

ACM做題思路總結

1.對於在限制條件下的最優化問題,時間上優化的突破口也在限制條件。eg 給 n條邊,從中選 3條拼成乙個三角形,要求周長最大的三角形 搜尋時各種剪枝策略 2.為了設計演算法,靈活的想象力 演算法的基礎知識 也是必不可少的。poj 1852 螞蟻爬桿 3.對於標準庫已經實現了的函式,盡量呼叫庫函式,不...