填表法,是dp最常見的做法。
以未知的量為基礎,通過已知的量來重新整理當前的未知量。
這是dp最基礎的做法。通常,我們大多題目都可以用這種方法實現。
楊輝三角
description楊輝三角是二項式係數在三角形中的一種幾何排列。它的每個數等於它上方兩數之和,每行數字左右對稱,由 1 開始逐漸變大。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
請求出楊輝三角的第 n 行,第 m 項的數字是什麼。
input第一行輸入兩個整數 n,m代表行數和列數。(1≤n,m≤50)
output
輸出乙個整數,代表楊輝三角的第 n 行,第 m項的數字。
sample input 1楊輝三角,本質上和我們講的填表法很像(做法就是經典的填表法)。6 3sample output 1
10
求這個出楊輝三角的座標為(n,m)的數字是什麼,應該找它上兩個的數。
這就是填表法的標誌,我們程式就可以用填表法來寫。

} cout<
[m];
return0;
}
ycoj(a)|傳娃娃(傳送門)
洛谷p1004方格取數(傳送門)
動態規劃 常見做法 記憶化搜尋
記憶化搜尋,是最容易寫,也是效率較高的一種做法。雖然本質上是dfs這種搜尋的思路,但其對搜尋過的狀態進行記錄,從而完成對未知狀態的推導,實際上也是一種dp的思想。洛谷p1434 shoi2002 滑雪 傳送門 輸入輸出格式 輸入格式 輸入的第一行為表示區域的二維陣列的行數r和列數c 1 r,c 10...
動態規劃常見型別
乙個揹包總容量為v,現在有n個物品,第i個 物品體積為weight i 價值為value i 現在往揹包裡面裝東西,怎麼裝能使揹包的內物品價值最大?例題 給定乙個數m,將m拆成不同的自然數的和的形式有多少種方案,這就是典型的01揹包問題,揹包容量為m,物品件數為k,這裡面的k是隱含條件,可以求出來,...
關於動態規劃的一般做法
我認為動態規劃的最後一步特別關鍵,乙個關於動態規劃的題目,最先需要的是弄明白它的最後一步,從最後一步起,一步一步的往前推。所謂的動態規劃,就是把乙個十分複雜的大問題劃分成乙個乙個的子問題,通過解決子問題來解決最終的大問題,如果你所有的子問題都弄明白了,那麼最終的大問題也就迎刃而解了,子問題的解決步驟...