You need strong recursion skills. DP optimizes recursive solutions by storing subproblem results to avoid redundant computation. Start by writing the pure recursive solution first, then add memoization (top-down) or convert to tabulation (bottom-up).
The key is identifying three things: (1) what state uniquely defines each subproblem, (2) the recurrence relation showing how subproblems depend on each other, (3) base cases. Practice Fibonacci with memoization first.