動態規劃入門

2021-08-22 15:11:35 字數 629 閱讀 3840

引例:樓梯有n個台階,上樓可以一步上1階,也可以一步2階,一共有多少種上樓的方法?

解:

f(1)=1,

f(2)=2,

f(n)=f(n-1)+f(n-2).

1.記憶化陣列——避免重複計算;

2.遞迴定義——>遞迴公式

思路:先走一步,看剩下的。

遞推公式: 初值:遞迴出口;

遞推公式:遞迴體。

1.基礎動態規劃

例題1:1730 數字三角形問題 可以使用滾動陣列

例題2:1299最長上公升子串行

例題3:2080最長公共子串行問題

例題4:(注意大數模擬)最佳加法表示式

例題5:2755:神奇的口袋 注意初值的設定

例題6:0-1揹包問題(poj3624) 可以使用滾動陣列

例題7:滑雪(百練1088)

例題8:poj1390 方盒遊戲

例題9:poj2373 灌溉草場

2.狀態壓縮動態規劃:

例題10:百練4124 海賊王之偉大航路

例題11:百練4149 課程大作業

例題12:poj1185 炮兵陣地

動態規劃入門

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

動態規劃入門

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

動態規劃入門

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