Week 4 — Dynamic Programming I
Topics: Recurrence Relations · Memoization · 1D DP Problems · Fibonacci to Knapsack
🚧 Content coming soon. This week's material is being prepared. Check back shortly.
What you'll learn this week
- DP as memoised recursion: write the recurrence first, optimise second
- How to derive the state definition from the problem constraints
- Top-down (memoization) vs bottom-up (tabulation) — same recurrence, different direction
- Transitioning from Fibonacci to unbounded knapsack using the same framework
Problems to solve
| Problem | Difficulty | Pattern |
|---|---|---|
| Climbing Stairs | Easy | 1D DP |
| House Robber | Medium | 1D DP |
| Coin Change | Medium | Knapsack |
| Longest Increasing Subsequence | Medium | 1D DP |
| 0/1 Knapsack | Medium | Knapsack |
Full notes, code walkthroughs, and video sessions will be added here.