Hi everyone, This is my very first Codeforces (CF) blog and my question is:
For people who can solve A,B,C (CF-Div2) level problems comfortably, how can they train to improve their skill to solve problems of D,E (Div2)/B,C (Div1) level efficiently. "Efficiently" here means within the contest time, or reasonably quick, e.g. less than 1h.
I know practice makes perfect, and did read some helpful blogs about practicing with DP problems, or some advanced data structure/algorithms, such as segment tree, suffix array, Z-algorithm, etc. However, I'd like to ask for more concrete and comprehensive advice/suggestions. For instance,
- what specific types of problems, algorithms, or data structures, etc., should we be familiar with?
- Besides algorithmic skill, what specific programming skill do we need to obtain?
Also, if you know helpful resources, such as tutorial, books, websites other than Codeforces, Topcoder, please share them. I think a lot of people, like me would be very grateful for your help. Thanks in advance!