DP的定義:如果一個問題很大,但可以分出很多小問題,而那些小問題的解法與大問題是一樣的。在解決一個小問題後,就將結果儲存在一個表格中,如此一來在之後的計算若需要這個結果就不需要重新計算。DP的精髓:1. Divide and Conquer, 解決子問題後便可得到問題的解答2. 找出主問題和子問題之間的關係,寫出數學式子3. 建立一個表格來儲存子問題的結果,避免重複計算