How to become a dynamic programming master ?
# | User | Rating |
---|---|---|
1 | jiangly | 3898 |
2 | tourist | 3840 |
3 | orzdevinwang | 3706 |
4 | ksun48 | 3691 |
5 | jqdai0815 | 3682 |
6 | ecnerwala | 3525 |
7 | gamegame | 3477 |
8 | Benq | 3468 |
9 | Ormlis | 3381 |
10 | maroonrk | 3379 |
# | User | Contrib. |
---|---|---|
1 | cry | 168 |
2 | -is-this-fft- | 165 |
3 | Dominater069 | 160 |
4 | atcoder_official | 159 |
4 | Um_nik | 159 |
6 | djm03178 | 154 |
7 | adamant | 153 |
8 | luogu_official | 149 |
9 | awoo | 148 |
10 | TheScrasse | 146 |
How to become a dynamic programming master ?
Name |
---|
I'm sure you've heard this countless times, but practice is extremely important. DP is one of the techniques where practice makes the most difference.
Solving as many problems from the CSES DP section as you can will help you understand DP and get much better than it.
In DP problems, there is usually a series of decisions you need to make, like the next coin to choose in the classic coin problem. For me, thinking of it this way is the best way to recognise and solve a DP problem.
Also I’d add that getting extremely solid in recursive DP first will allow you to become better at iterative DP. Based on my personal experience, I would not recommend jumping into the iterative solutions at first.
Recommending Atcoder's DP contest too. Atleast till I