_Muhammad's blog

By _Muhammad, history, 6 years ago, In English

I have solved 269 problems in codeforeces and 82 problems in light oj.But still I am Newbie.My rating in code chef is 1454 (attended 5 contest).But codeforece rating is getting down day by day.What should I do now?How to choose questions to improve my coding skill + rating?

Thanks in advance.

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

| Write comment?
»
6 years ago, # |
  Vote: I like it +3 Vote: I do not like it
This may help for you
  • »
    »
    6 years ago, # ^ |
      Vote: I like it +34 Vote: I do not like it

    But how? Opening a new profile can increase my rating once.Then it will decrease again.

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

      don't judge me by my rating. i would recommend you to study more and learn rather than just solving problems in online judges.

      Try learning by topics. reads books from art of problem solving books — counting and probability, number theory etc..

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

        I have learnt this topics and practiced different problems.Please tell me which topics are missing that a 1400 rated coder must have knowledge about that.

        1. Binary search.

        2.Bisection.

        3.Graph: A) Dfs,Bfs. B) Finding connected component. C) Flood Fill. D) Topological sort. E)Bipartite Graph check. F) Graph Edge property check via DFS spanning tree. G) Minimum spanning tree.

        4.Data structure : A) Stl. B) Segment tree. C) Two pointer. D) Sliding Windows. E) Lazy propagation.

        5.Number theory: A)Seive. B)Modular Arithmetic. C)Extended euclide. D)Modular arithmetic inverse (tamplate akare use kori)

        1. Dynamic programming: A) 0-1 knapsack. B) coin change. C) nCr. D) Rock climbing. E) Lis. F) Lcs. G) Bit mask. H) Digit dp. I) Partial sum.
        • »
          »
          »
          »
          »
          6 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          do you know about competitive programming handbook?

          cp Handbook

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

            Oh! Thanks. I haven't seen it before.It's quite helpful to me.Thanks again.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    wowww

»
6 years ago, # |
  Vote: I like it +44 Vote: I do not like it

This is a very hard question for us to answer. There can be hundreds of reasons why you are failing. there is no strategy that guarantees to lead to rating improvement.

After the next bad competition just take some time to reflect and think about why you failed. Did the competition contain strategies that you didn't know? Did you had difficulties with the involved math? Did you overcomplicate the problem? How do you handle time pressure? Did you understand the question and the test cases? Did you rushed too much? Did you miss any special cases? Did you were in good physical form (7-8h sleep, food, enough to drink)? Were there any distractions? Are you comfortable with C++, your IDE and the debugger? ...

For every problem there is something that you can do. But first you need to find out what your problem is.

  • »
    »
    6 years ago, # ^ |
      Vote: I like it +19 Vote: I do not like it

    And if you want good problems, the ladders are really good A2OJ And also practice a lot of B and C problems. Solving As over and over again will not help improving.

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

      Which ladder should I practice? And I practice B and C of ×5000 difficulty.Is it enough?

      • »
        »
        »
        »
        6 years ago, # ^ |
          Vote: I like it +3 Vote: I do not like it

        Maybe try the 1300-1400 one. But also another ladder will be fine. Each ladder contains a mix of easy and difficult problems.

        Nobody can say. I'm pretty sure that I haven't solved more than 2000 problems in my entire life, but it might be a lot different for you.

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

          Thanks for your suggestions. I am going to start 1300-1399 & 1400-1499 ladders.But I will continue those B & C problems that yet solved by 5000 users. (I have solved 90 B questions and 32 C questions but still my level is down.From now I will follow your suggestions I hope it will help me to improve)

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

    Sir, your advice is really awesome and helpful.Thanks a lot.I have never think like you.After giving next contest I will ask myself that questions.Thanks again.

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it +4 Vote: I do not like it

      Doing something for a long time with very little improvement is usually a sign that you are doing it wrong. So stop and think about what you are doing wrong.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      can you please tell me how you became specialist from newbie??

      • »
        »
        »
        »
        4 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        well I am going to give you a few steps that you might wanna try out:

        1. Participate in around 10 — 15 codeforces contests. (This is necessary step to estimate your real current strength)
        2. Now, let's say your current rating is around ~800.
        3. From now on, do not solve problems less than or equal to 800.
        4. You need to start solving (100 — 200 points more than your current rating) 900 — 1000. (These problems count into your practice) any problem having rating lesser than that does not count into your practice. so you can go to problemset filter problem based on rating points and start practicing. Now I suggest you to set a timer on each problem you solve. Give yourself 1 hour 30 min to solve (This is debatable) if you can't solve it within time, it is time to see tutorials. if you manage to solve it, then it is time to read others code and see how they solved it. you might also want to try other methods to solve the same problem.
        5. Go to step number 1.
      • »
        »
        »
        »
        4 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        It really isn't that hard...

        I would recommend you to go to codeforces problem set and solve problems in the range 800 to 1200

        Solve 50 problems and then maybe try solving 50 more problems in the range 1000-1600

        you will probably surpass specialist if you solved those 100 problems seriously and learned from them :)

        It's just my opinion... :)

»
6 years ago, # |
  Vote: I like it +1 Vote: I do not like it

It is difficult to hear these words again and again but you need more practice. Read this and this. Good luck!

»
6 years ago, # |
  Vote: I like it 0 Vote: I do not like it

My brother learnt ~6 year to get from green to blue, so use more time to learn maybe a way.

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

    No it's not a solution.I have practiced a lot , but in wrong way.Now I have learnt from Jakube what should I do.

»
6 years ago, # |
  Vote: I like it +13 Vote: I do not like it

Once again. To reach blue, you don't need to know any algorithms and topics at all. Instead, you should just know how to write programs in general, to organize code. Every experienced software developer is able to reach blue color in no time. Try to write something else than competitive programming problems. E.g. userscripts or games or statistics aggregator using CF API, there are many things to code.

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

    What? Are you telling me to do software development to become blue coder instade of solving problems?

    • »
      »
      »
      6 years ago, # ^ |
      Rev. 3   Vote: I like it +4 Vote: I do not like it

      He is russian. There(in Russia) even illiterate people can become 1600+ within some days :D , Don't listen him. Do competitive programming.

      • »
        »
        »
        »
        6 years ago, # ^ |
          Vote: I like it +1 Vote: I do not like it

        In Sha Allah I will never leave competitive programming.

»
6 years ago, # |
  Vote: I like it 0 Vote: I do not like it

To become better, you surely need to practice more on problems you find difficult to solve.

Anyway, I think that if what you currently want is some rating, you can probably practice solving Div2 A and Div2 B problems, so that you become confident and fast in them.

You can just pick random contests and solve A+B — or follow a list of some sort. This way, you should be able to (almost) always solve them in contest in a really short time

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

    What do you think is better, practicing difficult problems like 1600-1700 so that the medium problems become very easy for me, or gradually increasing the difficulty?

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

      Damn, this is some random necroposting.

      I'm not very familiar with the current codeforces rating distributions and contest results; but I would focus on the level of problems you cannot consistently solve in contests — looking at your last contests, why not go for something like Div. 2 B and C?

      You can start by doing more Bs than Cs, and then gradually ramp it up so that you don't need to practice Bs anymore once you are comfortable with them most of the time :)