__SHERLOCK__'s blog

By __SHERLOCK__, history, 12 months ago, In English

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.

 
 
 
 
  • Vote: I like it
  • +27
  • Vote: I do not like it

»
12 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by __SHERLOCK__ (previous revision, new revision, compare).

»
12 months ago, # |
  Vote: I like it +18 Vote: I do not like it

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.

  • »
    »
    12 months ago, # ^ |
    Rev. 2   Vote: I like it +3 Vote: I do not like it

    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.

    • »
      »
      »
      12 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it
      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.

»
12 months ago, # |
  Vote: I like it +11 Vote: I do not like it

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

»
12 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

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

  • »
    »
    12 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I think this is the best rule which will work for me. Thank you @Utkarsh.25dec

»
12 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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

»
12 months ago, # |
  Vote: I like it +11 Vote: I do not like it

LanceTheDragonTrainer can help you.

»
12 months ago, # |
Rev. 2   Vote: I like it +6 Vote: I do not like it

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

»
12 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Me too...

»
12 months ago, # |
  Vote: I like it +8 Vote: I do not like it

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

  • »
    »
    12 months ago, # ^ |
      Vote: I like it -22 Vote: I do not like it

    Thanks GrandMaster.

  • »
    »
    12 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thank you for the great point! I have already started to solve 1300+ (B/C). But when I feel tired or depressed, then I solve A and try to finish within 20 minutes.

»
12 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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)

  • »
    »
    12 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    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.

    • »
      »
      »
      12 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      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)

»
12 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I am not in a position to suggest you anything. But yes, one thing i would love to tell you as a brother, that believe you are not the only one suffering, just talk to some better coders , they are working way too hard and handling way more pressure , you will feel light with that, but please don't compare( i myself struggling at this though) and make yourself best . Thanks for the blog , seeing others suggestion, i myself got many things to know. I am in same position , struggling to become expert. yesterday , i couldn't even solve A (knowing i already had solved quite similar q earlier , and i am having depression due to rating drop , coz it takes effort to improve that lil bit which get destroyed by only one competitioin ) but anyways, i would be expert not immediately but definitely and hope you to become expert alongwith me. Best wishes.

»
12 months ago, # |
  Vote: I like it -17 Vote: I do not like it

Amio same problem a achi, bondhu ! A number solve korte giye amr mathay logic ase na!

»
12 months ago, # |
  Vote: I like it +6 Vote: I do not like it

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.com/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.

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thank you for sharing, I hope this will help me get to pupil :)