Computer Science
Dynamic Programming
Solving subproblems.