Why it matters

Rod cutting is unbounded knapsack variant. Understanding shapes DP patterns.

Advertisement

The architecture

dp[j] = max revenue for length j.

Try each first cut i in [1, j].

Rod cutting DPLength jtargetFirst cut iin [1, j]Revenueprice[i] + dp[j-i]Iterative version O(n^2); memoized recursion same complexity
Rod cutting.
Advertisement

How it works end to end

dp[j] = max over i of (price[i] + dp[j-i]).

Reconstruct cuts via choices.

Similar to unbounded knapsack.