anchor

what parts about this problem hold, what’s the base cases? can you write a context free grammar for the parts of the problem?

state

minimum amount of state required by each node

meaning

what does dp[something] mean? does it store boolean values? does it store counts? working from a recursive solution, this tends to store whatever the function returns

decision

what does each node need to decide on to make the most optimal choice?

transition

how do we compose the answers to sub-problems to answer a larger problem