簡單線性DP總結

2022-09-05 18:18:10 字數 637 閱讀 8013

首先 動態規劃適用的條件是該問題有最優子結構、無後效性、通過每個最優子結構狀態的遞推可以推出整體的最優解  對這些基本概念的理解既要理性也要一點點感性

dp問題解決順序是:

1、確定狀態 (通過最後一步將問題轉化為規模更小的子問題)2、轉移方程 3、初始條件與邊界情況 4、計算順序

其中前兩步是十分重要的,尤其是第一步,如果當前的狀態無法總結他的歷史,那麼這個狀態的定義就會在推導方程式的時候遇到問題,繼而說明這樣的狀態是不合格的

我們先引入最簡單的dp(遞推)問題 走樓梯

想必這個題大家都已經熟的不能再熟了,他的dp式為f[i] = f[i-1]+f[i-2]

下面我們進行一些改動,即在這些樓梯上有一些樓梯是壞掉的,即無法走到,那麼它對應的方程式又是怎樣的呢?

顯然單純的f[i] = f[i-1]+f[i-2]已經無法保證我們的最終答案是正確的了,因為我們無法知道i第i-1 、i-2個樓梯是否是可行走的,這樣我們在dp時就需要進行修改,即碰到壞掉的樓梯時,我們就直接f[i]=0

我們的問題得到了解決,那麼這個問題再次變換呢?

最長上公升子串行問題 :

最大子段和問題:

經典 簡單線性DP 最短編輯距離

給定長度n,m的字串a,b,有3種操作 略 問字串a變成b最少操作次數 n,m 1000 dp i j 表示的是 s 1.i 變為 t 1 j 所需要的最少操作 故可分為三種情況討論 1.刪除s最,後乙個字元 顯然上一狀態為 s1 i 1 t1 j 2.s後新增乙個字元 同理上一狀態為 s1 i t...

動態規劃專題 1 簡單線性DP

本專題文章建立在本人多年寫動態規劃 的經驗上,用以自己回顧總結,也幫助朋友初步理解,部分理解可能和教科書有所出入,要參加演算法考試的同學請以教科書為準。在現實生活中,有一類活動的過程,由於它的特殊性,可將過程分成若干個互相聯絡的階段,在它的每一階段都需要作出決策,從而使整個過程達到最好的活動效果。因...

簡單線性回歸

真實值 y theta x varepsilon 值 hat theta x varepsilon 為誤差 項,服從 均值為0 方差為 為誤差項,服從均值為0,方差為 為誤差項,服 從均值為 0,方差 為 sigma 的高斯分布。已知若干樣本,可以得到若干 varepsilon 值,根 據極大似 然...