動態規劃入門(一) DP 基本思想

2021-08-02 05:25:13 字數 736 閱讀 6058

動態規劃( dp ),是一種重要的演算法設計思想,是演算法設計的一柄利器。但是,要掌握dp並且運用自如,絕對不是什麼容易的事。 

dp的基本思想:

1.    把乙個大問題的解轉化為若干個小問題的解。

2.    如果得到了這些小問題的解,然後再經過一定的處理,就可以得到原問題的解。

3.    這些小問題與原問題有著結構相同,即小問題還可以繼續分解。

4    這樣一直分下去,問題的規模就會不斷減小,直到小的不能再小,最終會得到原子問題。

5.    原子問題的解顯而易見,這樣遞推回去,就可以得到原問題的解 

dp的具體實現:

1.   分析問題,得體狀態轉換方程

2.   根據狀態轉換方程,從原子問題開始,不斷向上求解,直到得到原問題的解。

3.    這個過程,一般是乙個填表的過程。 

哎,好抽象呀!木有辦法,如果拋開具體問題,只講原理,效果就是這樣的坑爹。下面都是一些經典的題目,還是結合這些具體問題,一點一點慢慢體會吧。

poj 1088 滑雪

poj 1163 the ********

poj 1050 to the max

poj 1159 palindrome

poj 1458 common subsequence

poj 1141 brackets sequence

poj 1160 post office

poj 1037 a decorative fence

動態規劃入門(四)DP 基本思想與實現

poj1160,post office。動態規劃的經典題目。呃,又是經典題目,dp部分的經典題目怎就這麼多。木有辦法,事實就這樣。求 在村莊內建郵局,要使村莊到郵局的距離和最小。設有m個村莊,分別為 v1 v2 v3 vm,要建n個郵局,分別為p1 p2 p3 pn。在dp的問題中,經常有從m個物體...

動態規劃基本思想

動態規劃與貪心策略類似,將乙個問題的解決方案視為一系列決策的結果。不同的是,貪心演算法每採用一次貪心選擇便做出乙個不可撤回的決策,而在動態規劃中,還要考察每個最優決策序列中是否包含乙個最優決策自序列。使用動態規劃時,所求問題應具有以下兩種性質。1.最優子結構性質 所求問題的最優子結構性質是採用動態規...

動態規劃入門(dp)

dp的基本思想,是把大問題轉化成乙個個小問題,然後遞迴解決。所以本質思想的話還是遞迴。dp最重要的是要找到狀態轉移方程,也就是把大問題化解的過程。舉個例子 乙個數字金字塔 112 2332 2243 133 在上面的數字三角形中尋找一條從頂部到底邊的路徑,使得路徑上所經過的數字之和最大。路徑上的每一...