Блог пользователя abcsumits

Автор abcsumits, история, 3 года назад, По-английски

Want to find ways to practice that help in fast improvement, Please suggest me. I can give 10 hours a day, Also if I increase difficulty problems takes a lot of time to solve, so I should practice till I am fast at that rating or waste more time by increasing difficulty.

  • Проголосовать: нравится
  • -15
  • Проголосовать: не нравится

»
3 года назад, скрыть # |
Rev. 3  
Проголосовать: нравится +35 Проголосовать: не нравится

Want to find ways to practice that help in fast improvement

waste more time by increasing difficulty

What?

Anyway, I think it is equally important (for cf contests) to be able to solve easy problems very quickly and also be able to solve harder problems. Solving easy problems faster gives a little bit more score but also it gives you more time to do those harder problems. But it doesn't matter if you have time for harder problems if you can't actually solve them.

You can practice solving easy problems quickly by just doing it. How? Speedsolve div.3/4, maybe AtCoder beginner contests, viruals might help, just try to solve easy problems fast and you'll get better at it.

For practicing harder problems, you'll never guess how to do that efficiently (spoiler alert: it's by solving hard problems). It needs to take a lot of time, otherwise the problems aren't hard enough.

Outside normal contests I'd focus on hard problems since in contests you usually get to practice speedsolving but not much solving hard problems (most often all problems in a contest are either very solvable or too difficult for you).

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Solve more problems, by the way you have quite the level by solving so less problems. Just solve more.

»
3 года назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Off topic: your graph is inspirational!

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

same problem

»
3 года назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

There really are two skills to practice in my opinion.

One is speed solving easy problems, and you can get better at this by just solving hundreds of easy problems. Just learn and practice implementation tricks to make your solutions simpler, shorter and less error prone.

The other is tackling problems at the very edge of your skill level, which is harder to practice, and I think it looks a bit different depending on your problem solving skill level.

For lower level competitive programmers like you and me, it's about building a strong foundation. The main weakness is usually making useful observations. So we need to teach ourselves how to make useful observations.

The way I do this is by upsolving one or two problems on each contest and spending a long time on each problem (several hours, and try again next month if I fail, etc). After solving a problem I try to deeply understand each step of the reasoning that led me to the solution, and really break down each observation. Then I read the editorial, see if the problemsetter had a different/simpler approach, ponder why I didn't notice that way and try to incorporate new ways of thinking.

My reasoning for spending so much time on each problem is that reading the editorial will probably not teach me general lessons that I can apply on many problems, or they might be too subtle to notice without first solving the problem myself.

I started practicing this way in late 2022 and it really helped me.

For higher level competitive programmers (Master and above?), I think it's all about filling gaps in your knowledge. In this sense, it's useful to be exposed to as many ideas as possible. If you don't have any ideas after 30 minutes, you probably have some sort of gap in knowledge, so just read the editorial and implement it.

»
3 года назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Believe me, if you solve more than three problems a day with a rating of 1700-1900, in less than a month your rating could increase by 200 points.