DP入門 爬樓梯

2021-09-28 20:03:37 字數 482 閱讀 8975

1.**dp

有了前面學習分治法的經驗,dp就比較好說了,分治法就是把乙個問題分解成若干個不相干的子問題(分到不能再分)求解;dp通過尋找轉態轉移方程,去解決子問題(存在重複),它的本質屬於遞迴。

2.dp的三個基本要素

1.最優子結構:確保狀態轉移方程所選擇的子問題也能給出最優解

2.邊界:狀態方程停止的條件

3.轉態轉移方程:子問題間的關係式。

3.爬樓梯

問題描述:乙個人每次能爬樓梯的階數是一階或者兩階。給定乙個階梯的總階數,問有多少不同的選擇爬上樓梯。

輸入乙個整數n,表示n種階梯數

輸出n行,每行表示每一種階梯的選擇總數。

input13

outout

3

#includeusing namespace std;

const int maxn = 1e5 ;

main()

}

遞迴 DP 爬樓梯問題

乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。首先輸入數字n,代表接下來有n組輸入,50 n 0,然後每行乙個數字,代表台階數,數字為小於60的整數 對每一組輸入,輸出青蛙的跳法。312 3 輸出樣例 1 23 思路 爬樓梯的方法就是乙個斐波那契數...

python爬樓梯遞迴 爬樓梯(Python3)

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 和 2 階 解題思路 實現了兩種方法,但是第一種超出時間限制 因為遞迴的時候方...

python爬樓梯演算法 爬樓梯(Python3)

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 和 2 階 解題思路 實現了兩種方法,但是第一種超出時間限制 因為遞迴的時候方...