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

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

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.

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

»
6 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
This may help for you
  • »
    »
    6 лет назад, # ^ |
      Проголосовать: нравится +34 Проголосовать: не нравится

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

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

      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 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

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

    wowww

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

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

    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 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

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

        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 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          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 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

      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 года назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

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

        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 года назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

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

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

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

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

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

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 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

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

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

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

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

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

      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 :)