Dynamic ProgrammingFrom first principles to production DP — memoization, tabulation, and the classic optimization families.