The slides (PPT) of this lecture is very helpful, please refer it.
Dynamic programming, an efficient way to implement some divide and conquer algorithms