動態(tài)規(guī)劃(Dynamic Programming,DP),簡稱動規(guī),或DP,是運籌學(xué)的一個分支,是求解決策過程最優(yōu)化的過程。其思想是將一個問題分解為若干個子問題,對每個子問題求最優(yōu)解,前一個子問題的最優(yōu)解,為下面的子問題提供了有效信息,依次解決子問題,最后一個子問題就是初始問題的最優(yōu)解。動態(tài)規(guī)劃應(yīng)用于子問題重疊的情況,子問題的劃分是通過遞歸實現(xiàn)。為了避免子問題的重復(fù)計算,保證每個子問題只求解一次,會將解保存在數(shù)組中。
動態(tài)規(guī)劃的應(yīng)用極其廣泛,包括工程技術(shù)、經(jīng)濟、工業(yè)生產(chǎn)、軍事以及自動化控制等領(lǐng)域,藍(lán)橋杯ACM等競賽當(dāng)中,廣泛在背包問題、生產(chǎn)經(jīng)營、資金管理問題、資源分配問題、最短路徑問題和復(fù)雜系統(tǒng)可靠性等問題背景中使用,是算法競賽中的份量極高的算法之一
序號 | 標(biāo)題 |
---|---|
1 | 動態(tài)規(guī)劃DP算法詳解 |
2 | 什么是動態(tài)規(guī)劃? |
3 | 動態(tài)規(guī)劃概念和實例講解 |
4 | 什么是記憶化搜索? |
5 | 記憶化搜索實例講解 |
6 | 超詳細(xì)背包DP九講(算法分析+問題分析+代碼分析) |
7 | 區(qū)間DP實例講解 |
8 | DAG上的DP實例講解 |
9 | 樹形DP概念和實例講解 |
10 | 數(shù)位DP概念和實例講解 |
11 | 什么是狀態(tài)壓縮DP? |
12 | 狀態(tài)壓縮DP圖文實例講解(一) |
13 | 狀態(tài)壓縮DP圖文實例講解(二) |
14 | 什么是哈希? |
15 | 插頭DP圖文實例講解 |
16 | 計數(shù)DP實例講解 |
17 | 什么是概率DP? |
18 | 概率DP實例講解 |
19 | 什么是線性DP? |
20 | 線性DP圖文實例講解 |
21 | 動態(tài)DP實例講解 |
22 | DP優(yōu)化(一)單調(diào)隊列/單調(diào)棧優(yōu)化實例講解 |
23 | DP優(yōu)化(二)斜率優(yōu)化實例講解 |
24 | DP優(yōu)化(三)四邊形不等式優(yōu)化實例講解 |