動態規劃經典例題(二)

2022-06-11 13:30:10 字數 708 閱讀 1541

最長公共子列:

輸入:abcfbc  abfcab

programming  contest

abcd  mnp

輸出:420

解題思路:

和最求最長上公升子列一樣,先設定乙個陣列儲存比較過的狀態maxlen,一步步的從子問題推到最終問題。

設乙個二維陣列maxlen

最長公共子串ad

cba1

111b

1112

c112

2d12

21取乙個子串內的字母,和另乙個子串依次比較

**如下

1 #include2 #include3 #include4

using

namespace

std;

5char s1[1000],s2[1000];//

兩個字元陣列

6int maxlen[1000][1000];//

計數陣列78

intmain()

9

3233 cout<

3536

3738

3940

41return0;

42}

43

view code

動態規劃及其動態規劃經典例題

動態規劃是最重要 最經典的演算法之一,學好動態規劃對我們十分重要,掌握動態規劃對解決某些問題會起到事半功倍的效果。特點 可以把原始問題劃分為一系列子問題 求解每個子問題僅一次,並將其結果儲存到乙個表中,以後用到時直接訪問,不重複計算,節省時間。自底向上地計算 適用範圍 原問題可以分為多個相關子問題,...

動態規劃例題(二)

給定乙個非負整數 num。對於 0 i num 範圍中的每個數字 i 計算其二進位制數中的 1 的數目並將它們作為陣列返回。例如 輸入 2 輸出 0,1,1 先分析,然後找規律,最後求解。直接利用求二進位制的函式,進行統計 1 的數量統計即可 class solution def countbits...

動態規劃演算法經典例題 動態規劃的經典模型

動態規劃演算法的核心就是記住已經解決過的子問題的解。記住求解的方式有兩種 自頂向下的備忘錄法 自底向上。線性模型的是動態規劃中最常用的模型,上文講到的鋼條切割問題就是經典的線性模型,這裡的線性指的是狀態的排布是呈線性的。例題1 是乙個經典的面試題,我們將它作為線性模型的敲門磚。例題1 在乙個夜黑風高...