🎯 什麼情境該想到我
當你「問題具有「重疊子問題+最佳子結構」、暴力遞迴會重複計算時」的時候。
⚙️ 怎麼用(步驟 / 公式)
- 思路:定義狀態與轉移方程,用**記憶化(top-down)或表格化(bottom-up)**避免重算。
- 步驟:定義狀態→寫轉移→定邊界→按依賴順序填表。
- 例:背包、最長共同子序列、編輯距離、最短路(Floyd)。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 沒有重疊子問題就不需要 DP;狀態設計錯會算錯。
- 注意狀態數×轉移成本=複雜度。
當你「問題具有「重疊子問題+最佳子結構」、暴力遞迴會重複計算時」的時候。