Re 從零開始的動態規劃

2021-10-08 17:13:31 字數 1676 閱讀 9167

有的人,天天在說自己打cf太菜,要學線性規劃,卻連第一步都沒邁出去,不會吧,不會吧,不會那個人就是你吧 ——f+

跑來寫部落格的時間都可以用來學幾個點

咳咳咳言歸正傳,這是我第一篇部落格,用來記錄我假期演算法的學習之路,先立下flag,以後我要每天一更!(也許這樣自己就不會咕咕咕)

步驟:階段、狀態、決策、策略、狀態轉移方程

性質:最優化原理、無後效性原則

具體的解釋就是:

那就來個基礎的試試手吧:

poj3176

也就是個普通的數塔嘛

我嘗試了以下三種寫法:

法一:基礎dp

#include

#include

#include

using

namespace std;

intmain()

}if(n==1)

cout<

[1]<

//注意特判只有一層的情況

else

} cout<

}return0;

}

法二:逆向dp(最優)

不用特判,不用考慮邊界,不用多開陣列,不用遍歷底層。

#include

using

namespace std;

int dp[

360]

[360];

intmain()

}for

(int i=n-

1;i>=

1;i--)}

cout<

[1]<

return0;

}

法三:記憶化搜尋

#include

#include

#include

using

namespace std;

int dp[

360]

[360];

int a[

360]

[360];

int***

(int i,

int j)

//還是要特判tat

intmain()

}int maxn=-1

;for

(int i=

1; i<=n; i++

) cout<

return0;

}

可能你會說:就這就這??

這也只是小辣雞的第一天嘛嘿嘿嘿。

DP 從零開始的動態規劃

從現在開始學習dp 來乙個入門的 時間限制 1000 ms 記憶體限制 65536 kb 觀察下面的數字金字塔。寫乙個程式查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以從當前點走到左下方的點也可以到達右下方的點。在上面的樣例中,從13到8到26到15到24的路徑產生了最大的和...

Re從零開始的每一天

廣告 日記pro 密碼請私信 雖然 re從零開始的異世界生活 這番我還沒看過 但這番真的太有名了,所以說就想到了,用一下 新的一年,希望我能更好,能把想做的事情堅持下去,也能做到我想做的事情 本日記僅限寒暑假,平時幾乎沒時間,如果記起來的話,會考慮寫一下 時間 time 計畫 plan 詳細資訊 d...

RE 從零開始的faiss庫的編譯安裝

最近facebook更新了faiss的install.md,所以其實沒什麼好寫的,但是這一路上踩了不少坑還是稍作記錄。雙系統安裝教程 win10 ubuntu16.04雙系統 gcc g gfortran安裝和降級 推薦安裝gcc6以下版本,方便後面安裝gpu和faiss。ubuntu16.04預設...