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