Here's what you'll learn:
Bitmask DP tracks subset states in space. Use it when and you need to track which elements are chosen.
Digit DP counts numbers digit by digit. Use it for problems asking how many integers in a range satisfy some property.
Interval DP solves range problems by splitting into subranges.
Tree DP processes nodes bottom-up, combining child results.
Contribution DP counts how much each element contributes to the total answer.