Hi all, me and my team are participating in icpc this year (we don't really have any hope lol, we're just doing it for fun). So I thought I should probably try to get better at DP. So I watched some lectures on knapsack, LIS, LCS and so on. However, I still don't have much idea how to exactly think about a DP problem:( I was wondering if some DP gods could help me out here, like maybe guide on what problems to begin with so I can gradually get better. Thanks in advance!!








Why do I keep getting downvoted for asking questions :(
as u practice more problems, u will get better, start with cses problemset.
I'm not a DP god, but you can start with the usaco guide or cses to begin
Hi! I'm no expert in DP, but these pages have typical DP problems to get started, ranging from easiest to most difficult.
Page 1 (at coder) Page 2 (cses)
Also, if it helps, I think of DP as a recursive function, asking myself what a DP state stores, for example: << f(i) gives me the maximum value I can get from position "i" >>