1 #include2 #include31.求出最大值函式,並將之返回給第乙個引數,當然指標和引用都可以實現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 }
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.動態規劃演算法 在解決最優解時我們用到的兩個演算法,貪心與動態規劃演算法,接下來我根據自己的理解解釋兩者的差異之處。貪心會怎樣做,動態規劃又會怎樣做?我的了解,貪心演算法是自頂向下,及每一步向下都取最大值,但得到的是最優解嗎?如圖顯然不是。接下來我會逐一跟大家演示。動態規劃解法,從小規模來看是否...