Recently, I have been exposed to Digit DP SPOJ Problems, then I realized that yes, there is a wide range of problems that can be solved using the different dynamic programming approaches. When I first encounter the problem Help Bob, I was totally clueless that how I approach that problem. Then a friend (nishant403) told me to learn the concept of Digit DP. After searching a lot get some insights into it.
There are a lot more techniques like this that are there. I need help to get the whole set of DP Techniques that can be used for Competitive Programming and tutorial related to that with the practice problems that a beginner needs to solve in order to be the tourist of DP. I also need help to determine the specific order in which one needs to learn these techniques that increase the difficulty gradually.
Here are some of the posts that I found related to Dynamic Programming.
General DP:
1. Everything About Dynamic Programming.
2. DP Tutorial and Problem List.
DP on Trees and Rerooting:
1. DP on Trees Tutorial.
2. Online Query Based Rerooting Technique.
Digit DP:
1. Digit DP.
2. DIGIT DP Tutorial [ITERATIVE].
3. Digit Dp + Matrix Chain Multiplication.
DP with Bitmasking:
1. Introduction to DP with Bitmasking.
As of now, these are the list of articles that I found on codeforces. I will keep updating the list of articles. Hope for great support. Thanks a lot to all of them who have written these useful articles that enhance the knowledge.
Thank You.