動態規劃-總結

最近做了幾道動態規劃,感覺有一些共性的東西,每個題都是相似的套路,在此總結一下。由於做題時已經被明確表明該題是動態規劃,所以沒有判斷該題是動規的過程,大概還得多做幾個找找感覺。

  1. 找到要解決的問題,並將大問題分解爲不重複,相似的小問題。大問題就是原問題,如果能找到一種分解大問題的方法,使大問題可以分解爲相同的問題,只是規模變小,那就ok了。問題一般可以用兩個數來刻畫,一個是規模,另一個是限制條件。
  2. 一般會得到一個遞推公式。遞推公式寫出遞歸程序,爲了提高遞歸的效率,通過數組記錄每個小問題的值,一般是個二維數組,一維是問題規模,另一維是限制條件,數組中的值就是每個小問題的解。這時可以轉化爲循環,按順序將表填完就可以了,最後取出原問題對應的數就是結果。
  • 當這個二維數特別大時,可以考慮滾動數組,但有一定的限制條件。
  • 在轉循環的時候,需要考慮循環的方向,以及循環的範圍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章