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

Автор __SHERLOCK__, история, 6 лет назад, По-английски

I don't know where is my fault and why I cannot do better in Codeforces. In Summary:

I have solved 339 problems 269 A, 60 B and 9 C

188 from dif 800, 40 from dif 900, 51 from dif 1000, 27 from dif 1100, 20 from dif 1200, 9 from dif 1300

I have solved almost 95% of a2OJ <1299 ladder. Now what should be my approach to do better?

I have read many blogs on google and codeforces, but can't understand which idea will work for me. I need your help guys.

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

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

Try solving more B/C problems. You've solved mostly A, but in my opinion solving A doesn't really count, since most of them don't require use of any algorithm, thus, usually they teach you little to nothing. Focus mainly on B/C problems now, and try to aim for a difficulty which you're slightly uncomfortable with, only then will you progress.

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

    Thanks for your advice. I have some personal questions to you, if you have times, please reply.

    1) should I care about the number of solve? ( Actually, when I see my friends have solved more problems, it makes me Down.

    2) Should I solve problems by sorting out difficulty on the problemset ? Or Should I go to the contest page, and try to them in a virtual contest?

    I am really confused and frustrated. Sorry if I have asked any wrong or silly questions.

    • »
      »
      »
      6 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      1. At your stage, i believe it is somewhat necessary to solve more problems just to get speed and some intuition, but as you rise through ranks, you will quickly realise that quality > quantity. But i will leave that to you to figure out :)

      2. Why not both? :D When i started cp, i usually went to the problemset and sorted the problems according to difficulty and solved the older problems. You can solve the newer problems via VC if you like.

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

Do question above 1300, they will open your mind and give you wide range of ideas. Do B and C more than A.

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

Do practice questions of difficulty equal to (your current rating +100/200) at any stage. You will see a quick improvement.

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

One thing I learned that helped me never go below specialist is that your computer can do on the order of 10^8 operations a second. This allows you to know what time complexity the expected solution should have and therefore makes solving the problem much easier. Also learning the fast IO trick saved me from unnecessary TLEs. I learned these cp tricks and basic cp algorithms here: https://cses.fi/book/book.pdf

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

LanceTheDragonTrainer can help you.

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

Don't give up, keep practicing, enjoy the path you are on and believe that you will become pupil after some time..

I remember that I became pupil after solving about 200 A and 120 B. I explained my way of practicing here

Have a look at:

Training roadmap for newcomers

Psychological Concerns in Competitive Programming

How to come up with the solutions: techniques

Do virtual contests in div.3 rounds and atcoder beginner contests (and definitely upsolve 1 — 2 problems), and the most important thing is to not think of you rating during the contest

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

After making some research on your recent contest, it appears you have difficulties of solving A fast (Since you're taking more than 40 mins average to solve them), you should start doing VCs and try not to spend more than 20 mins to solve the slow A solving.

In case of solving only 1 problem, do a lot of B problems (Not the easy ones) and upsolve the problems you couldn't during the contest

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

Read about std structures, like ordered/unordered_map/set, deque, vector and their methods, because there are a lot of problems that need to use some structures. Also read another's code or editorial if you don't know how to solve tasks and analize why didn't you find this solution (because div2B/C usually are obvious and you can come up with correct solution)

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

    Bro, could you please take a 1 minute to check my submissions and graph, to advise me what problems , i should solve. Thanks in advance.

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

      I checked your last round's submissons. For the task A usually solution is a formula or something more easier, than you was trying to submit. Also you should test your prolems properly (minimum or maximum values, or some simple cases) if you have WA and you think you fixed the bug. And I don't think that using so many defines make you code better IMHO ;) You just need some valuable practise (I don't find solving all div2B on cf valuable practise for example)

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

The CodeForces community is great. I really don't know who to give credit but a person created an amazing google chrome extension. I found this in a blog a couple of days ago. Its called Codeforces Practice Tracker. You can install it and view the statistics of your practice. It helps a lot. Ashishgup also wrote a blog where he has mentioned such awesome open source tools. https://codeforces.me/blog/entry/63040 One more tool which i found a few days back https://surya1231.github.io/Codeforces-contest/. It tells you all about the contests and in which contest you solved how many questions. I suggest pick up div3 contests and virtually participate.