When it comes to competitive programming, there are basically 3 types of learning methods I have seen people follow,
- Pick a topic you are less confident in, solve as many questions until you are confident in that topic.
- Solve questions randomly but from a well-ordered plan (according to difficulty), eg: like from A2OJ ladders.
- Learn only from contests but give them more frequently.
I would like to know which learning style do you prefer (you may share if you have your own) and how it helps you. Personally I have only tried the first method but it has cost me a lot of time and I have been able to give fewer contests, or maybe I am solw.
Would be helpful for the community if you share your experiences.