### Dynamic Programming



- Fibonacci Numbers
- Shortest Path (no cycles)







- subproblems

- guessing

- relate subproblems

- recurse & memoize (bulid DP table)

- solve original problem

  ​






​			
​		
​	

感觉DP有几类：

- 容易写出递推公式的

- 画表更容易理解的

  ​

*    DP ≈ “controlled brute force”

*    DP ≈ recursion + re-use

     ​		

