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

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

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
  • Проголосовать: не нравится

»
7 месяцев назад, # |
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).

  • »
    »
    7 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Thanks a lot and up to what difficulty should I upsolve?

    • »
      »
      »
      7 месяцев назад, # ^ |
        Проголосовать: нравится +25 Проголосовать: не нравится

      I think there are several ways which are working as far as choosing harder problems goes.

      On one hand you can start by upsolving 1-2 tasks you haven't solved from the recent contests/virtual contests you have taken, and this is something that will help you up to some extent.

      In addition you can also try reviewing past problems with a certain rating difference higher than your max rating (many Discord servers with the TLE bot even have a ;gitgud feature).

      Sometimes you might need to also learn new contents but this comes as you encounter various problems too.

      • »
        »
        »
        »
        7 месяцев назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        I like to practice hard problems and I try to upsolve as much as possible ... But during the contests the easier constructive and observation based problems take up so much of my time that I can't really give the harder ones a fair shot ... Can you suggest some remedy ?

        • »
          »
          »
          »
          »
          7 месяцев назад, # ^ |
            Проголосовать: нравится +8 Проголосовать: не нравится

          There's a simple answer to this, you should try practicing more of these problems and see what patterns emerge from them.

          • »
            »
            »
            »
            »
            »
            7 месяцев назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            oo thanks for the advice ... will try to solve more of those easier 1500-1600 questions against the clock

      • »
        »
        »
        »
        7 месяцев назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Thanks:)

    • »
      »
      »
      7 месяцев назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      I have been doing quite a lot of problems from 1800-2000, ~200 of them, and it seems to be paying off. You should be able to find a difficulty range in which you can solve about 50% of the time.

  • »
    »
    7 месяцев назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    How much time should I give before watching editorial? If iam not able to understand editorial is it too difficult for my rating? What should I do in such situation — Should i submit after reading editorial or leave it and try after some time

    Iam solving iam 1400 and solving 1600 is it good or should I increase difficulty

»
7 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

»
7 месяцев назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Off topic: your graph is inspirational!

»
7 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

same problem

»
7 месяцев назад, # |
  Проголосовать: нравится +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.

»
7 месяцев назад, # |
  Проголосовать: нравится +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.

  • »
    »
    7 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Sure I will do it for 1 month,watch me

  • »
    »
    3 месяца назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    what if I can't solve them(they're too hard), will reading the editorial, understanding the solution and implementing it work until I can't actually solve those?