動(dòng)規(guī):由小問(wèn)題的解構(gòu)造大問(wèn)題
注:
關(guān)鍵在于小問(wèn)題的劃分
注意邊界條件的劃分!
根據(jù)遞推公式埋哟,明確dp數(shù)組的構(gòu)造順序
一維dp:數(shù)組維度與輸入維度相關(guān)
一般是劃分為兩個(gè)問(wèn)題赤赊,枚舉第一個(gè)問(wèn)題k(k<=i/2),然后與第二個(gè)i-k進(jìn)行組合
無(wú)條件組合哄孤,一般輸入是一個(gè)整數(shù)n吹截,枚舉1:k(dp+dp),取最小值
22. 括號(hào)生成f(i)=連加f(j)*f(i-j-1)
小問(wèn)題的解通過(guò)判斷+計(jì)算獲得晨逝,然后組合第二個(gè)問(wèn)題(計(jì)算結(jié)果+dp)需要判斷(1+小問(wèn)題)
遞推公式對(duì)題目有很強(qiáng)依賴性的動(dòng)規(guī)
01背包(dfs一般會(huì)超時(shí))
dp實(shí)現(xiàn)細(xì)節(jié)
不需要排序捉貌,因?yàn)椴粫?huì)像dfs那樣根據(jù)“前面的都沒(méi)選而提前停止”
不必要記錄每種硬幣的數(shù)量冬念,記錄可以減少時(shí)間復(fù)雜度刘急,但是代碼會(huì)復(fù)雜。
只要比較dp[i-1][*]就ok了统求,不需要再往上查找据块,因?yàn)閠rue會(huì)向下傳
帶限制的dp
事物操作性動(dòng)規(guī):用多個(gè)動(dòng)規(guī)數(shù)組模擬不同操作
動(dòng)規(guī)+dfs(記憶化dp:就是我理解的dp+dfs另假,用于計(jì)算順序不好找的時(shí)候)
狀態(tài)壓縮dp?
https://zhuanlan.zhihu.com/p/340063230j
狀態(tài)不好表示/比較边篮,利用位數(shù)特點(diǎn)等,將其轉(zhuǎn)換為基礎(chǔ)類型(如(i戈轿,j)表示為i*000+j)思杯,再進(jìn)行求解。