最好懂得貪心演算法 動態規劃之數塔問題

2021-07-23 10:55:17 字數 567 閱讀 8053

1 #include2 #include3

using

namespace

std;

4const

int n=100;5

int tower[n][n],f[n][n]=,n;

6void upmax(int &a,const

int &b)

9int

main()15}

16//

接下來 用貪心演算法和動態規劃

17//

這裡用了貪心演算法,每一步算出每一行的最大值,最後得到總體最大

18for(int i=1;i<=n;i++)

22}

23int res=0

; 24

for(int i=0;i<=n;i++)

28 cout29 }

1.求出最大值函式,並將之返回給第乙個引數,當然指標和引用都可以實現

2.貪心演算法求出每一行的最大值:對於每乙個位置,都可以求出上面所有的路徑到達這點的最大值,存在f[i][j]中

3.比較最後一行的f[n][i],求出最大值就是結果

最好懂得貪心演算法 動態規劃之數塔問題

1 include2 include3 using namespace std 4const int n 100 5 int tower n n f n n n 6void upmax int a,const int b 9int main 15 16 接下來 用貪心演算法和動態規劃 17 這裡用了...

貪心演算法 and 動態規劃

動態規劃dynamic programming 貪心演算法,又名貪婪法,是尋找最優解問題的常用方法 步驟1 從某個初始解出發 步驟2 採用迭代的過程,當可以向目標前進一步時,就根據區域性最優策略,得到一部分解,縮小問題規模 步驟3 將所有解綜合起來。假設你開了間小店,不能電子支付,錢櫃裡的貨幣只有 ...

動態規劃與貪心演算法

1.動態規劃演算法 在解決最優解時我們用到的兩個演算法,貪心與動態規劃演算法,接下來我根據自己的理解解釋兩者的差異之處。貪心會怎樣做,動態規劃又會怎樣做?我的了解,貪心演算法是自頂向下,及每一步向下都取最大值,但得到的是最優解嗎?如圖顯然不是。接下來我會逐一跟大家演示。動態規劃解法,從小規模來看是否...