動態規劃 三步問題

2021-10-04 17:41:49 字數 598 閱讀 7851

有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階、2階或者3階。實現一種方法,計算小孩有多少種上樓梯的方式。當n比較大時(比如n=1000000),結果會很大,要求對結果進行模1000000007操作。

n=1時,結果為1

n=2時,結果為2 ( 2、1 1 )

n=3時,結果為4( 3、2 1、1 2、1 1 1 )

當n比較大時,他最後一次可能上了1階,也可能上了2階,也可能上了3階。

因此很容易想到遞迴處理的方法:f(n)=f(n-1)+f(n-2)+f(n-3).

如果直接這樣計算,會出現很多不必要的重複。例如

f(6)=f(5)+f(4)+f(3),而f(5)=f(4)+f(3)+f(2),f(4)=f(3)+f(2)+f(1)在這個遞迴處理的過程中f(4)就被計算了兩次。

因此改進方法是用乙個陣列記錄每次計算得到的f(i),下次需要用到時就不需要再次計算了。這是很典型的動態規劃的思想。

int

waystostep

(int n)

}

三步拼讀法

用到的工具項 p kt 配對符 連體符 下劃線 一讀 逐個音素讀出來。連體音,不拆分。二配 輔元成對式。口訣 子音在前,母音在後,子音加母音,構成一對子 三拼 見對先拼 拼音法和快讀法 沒法配對的音都讀本身音。快速拼讀六字訣 配對子,拼對子 f st p ti d p t tr vl h l de ...

Echarts入門三步

建立一張圖表,跟把大象放進冰箱的步驟是一樣的,分三步 id main style width 600px height 400px div 其實圖表寫的最多的就是這個配置項object option包含圖表型別 樣式 展示方式等一系列的配置項 指定圖表的配置項和資料 var option 提示框 t...

三步快速解決dll衝突問題

最近在推廣應用我們的分布式服務閘道器 web api 業務組大部分對外的業務邏輯以hsf服務或者自定義擴充套件外掛程式的方式,註冊並發布到分布式服務閘道器中,統一對外提供webapi服務。臨時介紹下我們的分布式服務閘道器 1.一鍵註冊 發布webapi服務,2.統一管理發布webapi服務,實現we...