Divide and conquer technique
Examples: Subset-sum; merge sort
You may have wasted a lot of time on this in school
Memoization is automatic dynamic programming