動態規劃入門感悟

2021-08-07 09:41:21 字數 587 閱讀 4934

不會動態規劃的可以看看我部落格裡動態規劃入門一文哦

在這裡為了幫助萌新們學習動態規劃,呼叫幾篇大佬的好文章

1、動態規劃的本質就是遞推+記憶化搜尋。

遞推的思想在動態規劃中體現是狀態轉移方程,就是兩個相鄰結點的最優情況之間的推導關係。由狀態轉移方程可以從乙個端點推到另外乙個端點,再從所有的結點中找出最優解。記憶化搜尋就是遞推過程中解決了貪心目光短淺的問題,記憶化搜尋可以記錄下當前結點以前的所有結點的最優解(可以思考下,假如到了乙個結點一定就是往這個結點的最優解方向走,因此可以採用記憶化搜尋的方式記憶下來)

2、無後效性原則:我們知道,貪心是對面前的選擇做出乙個選擇,選擇出當前最誘人的路,這種演算法的缺點在於目光短淺,而動態規劃則是有點逆推的味道,從終點出發,路過每乙個結點都可以求出當前結點到終點的最優解,以後的結點又可以利用這個結點的最優解繼續求出最優解,到達終點就求出了答案。

同時,正因為這個原則,我們搜尋的時候或者選擇演算法的時候一定要看看是否在滿足無後效性原則。

動態規劃入門

1 用 dp 做的題大多數返回值是int boolean,求max min,不能打亂原來輸入順序。2 動態規劃有兩個重要定義,乙個叫 optimal substructure 另乙個叫 overlap subproblem 各種排序 tree 類問題中,都會用到 divide conquer 的思想...

動態規劃入門

大家可以看看這篇文章dp,哪個更容易理解就看哪個!一 動態規劃的定義 動態規劃程式設計是一種針對於解決最優化問題的一種途徑 一種方法,而不是一種特殊演算法,也就是說它沒有固定的模板。在動態規劃中,每走一步都要看看能不能最優,而且動態規劃最擅長的就是多階段問題!二 動態規劃的基本概和基本模型構成 1....

動態規劃入門

學動態規劃自然要從數字三角形開始起步,那麼我們就先從數字三角形開始。數字三角形題目 有乙個由非負整數組成的三角形,第一行只有乙個數,除了最下行之外的每個數的左下方和右下方各有乙個數,如下圖所示 3 24 10 1 4 3 2 20 從第一行的數開始,每次可以往下或往右下走一格,直到走到最下行,把沿途...