I am new to this and I am learning dp. It's tough for me approach a dp problem but when i see the solution i get the idea and why they are doing it but iam not able to come up with it on my own.Can anyone tell me how you practiced dp like did u practice problems topic wise (dp in this case) or practice random problems.I am confused because when u practice by topic u will think in that way only and i dont think that's a good idea.If you also found any good materials for dp can u share it?
PS: Thanks for reading the post and Sorry for my bad English








Next time try to find blog with your question(it can be answers on the comments)
http://mirror.codeforces.com/blog/entry/14491#comment-194639
http://mirror.codeforces.com/blog/entry/12148
http://mirror.codeforces.com/blog/entry/16426
http://mirror.codeforces.com/blog/entry/16424
http://mirror.codeforces.com/blog/entry/337?locale=en
Best way that i know to be good at dynamic programming is solving lots of problems