Glossary: Algorithms Beyond the Basics in C++
Dynamic programming
Also written: DP
Solving a problem by building on answers to smaller, overlapping subproblems. It applies when the same smaller question repeats and the big answer is built from smaller ones.