#dynamic-programming
Dynamic programming is a method for solving a complex problem by breaking it down into a collection of simpler subproblems.
https://en.wikipedia.org/wiki/Dynamic_programming https://www.cs.berkeley.edu/~vazirani/algorithms/chap6.pdf