When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

nocriz's blog

By nocriz, history, 3 years ago, In English

This blog is perhaps complete nonsense because becoming faster is perhaps equal to generally becoming better at competitive programming. I've found that many hard problems are approachable if given a longer time and that it is possible to get a decent ranking (perhaps ranked 5-15, since I am not that fast I cant) in many contests for just being fast. Solving problems faster also mean more time to spend on the problems few contestants solves.

So, how can I get faster? I believe the general answer will be "solve more problems" or "Practice more", but can anyone give some more concrete clue?

Sorry for posting this nonsense blog.

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

| Write comment?
»
3 years ago, # |
  Vote: I like it -72 Vote: I do not like it

type faster ;)

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

    If this post was posted by a gray coder, it would have definitely been downvoted, but since it is a red coder, everyone upvote! This is ratism

»
3 years ago, # |
  Vote: I like it +57 Vote: I do not like it
Am I right?
»
3 years ago, # |
Rev. 2   Vote: I like it +24 Vote: I do not like it

The guy who posted this should be one who should be answering such questions. Unless of course Petr and Tourist has something to say .

»
3 years ago, # |
  Vote: I like it +116 Vote: I do not like it

Interesting to see < 1800 rated guys suggesting a red coder how to practice.

»
3 years ago, # |
  Vote: I like it +61 Vote: I do not like it

Lol i am in no way going to comment on how to solve H and I xD but can say that they are really a class apart from normal problems. I recall SecondThread once say in his stream that "Ok we are done speedsolving A-F now it's time to apply some brains". Then he proceeded to solve G and could make only little progress after trying for an hour :(

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

    My favorite SecondThread quote: "Here's where the contest starts, ladies and gentlemen. We finished the speedrun; now, we start the thinking."

»
3 years ago, # |
  Vote: I like it +65 Vote: I do not like it

Solve more problems and listen to Twice!

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

    Solve more problems and listen to Twice!

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

      Solve more problems and listen to Twice!

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

        Solve more problems and listen to Twice!

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

          Sorry to break that cat couple's wonderful dance, but hey! I am a cat too...

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

    Solve problems and don't listen to Twice.

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

      Don't solve problem and don't listen to Twice.

»
3 years ago, # |
  Vote: I like it -46 Vote: I do not like it

Teach us something, without shitposting. Too many contents are there in Chinese. It's hard to understand with google translator. Perhaps you guys can write something necessary rather than mocking newbies like us.

»
3 years ago, # |
Rev. 2   Vote: I like it +33 Vote: I do not like it

Ignore this comment section and ask LGMs personally.

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

My question is how to become slower... We were talking about solving problems? oh...

»
3 years ago, # |
  Vote: I like it +9 Vote: I do not like it

Not sure if it'll work ,but I guess lockout bot might help.

»
3 years ago, # |
  Vote: I like it +32 Vote: I do not like it

To become faster obviously we have to optimize the things we spend the most time on.

This is most likely an individual thing. So, if you cannot ask in more detail what to do, then the first point to be done is the analysis of your own weaknesses, the identification of the performance area with the greatest personal potential. What is preventing you personally from being faster, what is missing?

As a result of that process you identify some goals, and can think about what has to be done to reach them.

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

    Underrated comment. Thanks. May i ask you why you are stuck on expert ? In lot of contests you do very well but then you lose rating in some. It seems lack of consistency is reason.

    My situation is similar to yours so i think if you share your reasons it might help me also.

    Thanks

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

      Well, if I knew how to improve further I would have improved further ;)

      Face reality. I solved like ~3000 problems on several platforms, you cannot expect a person like this to improve suddenly any more. If there is still possibility to improve at all then slowly, very slowly.

      I can tell about my limitations, currently these are mainly of two kinds:

      1. Complexity of problem of ~2200+ or the like, I simply cannot solve the most of them, and hardly understand the tutorials. And if I understand one I have forgotten how it works two weeks later.

      2. Implementation of "complecated" structures. Todays C is an example, there are simply to much entities of direction and dimension in it, I am hardly able to sort these things out in a short time. In business that is not a real problem, since we can allways tell people, "hey, I will come up with a solution next week", and if we then do customers are still happy.

      I see some potential to improve both of these points by improving my math skills. Concerning that there are two angels of view: Since my math skills are fairly low there is a lot of potiential. And, since my math skills are fairly low, it seems that it is hard for me improve them :/

»
3 years ago, # |
  Vote: I like it +48 Vote: I do not like it

It's so funny that people who are not even CM are giving advice to a 2700+ GM. Nice.

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

Did you consider watching other top users streams? Errichto, SecondThread, ecnerwala, tourist...

»
3 years ago, # |
  Vote: I like it -26 Vote: I do not like it

Oh please. Meanwhile I am trying to reach purple for 6 years...

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

    the thing is you didnt quit, quite inspirational. P.S : Maybe today's edu is your chance to achieve it

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

      Lol it isn't inspirational when someone doesn't improve nor practices much.

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

Just listen to your heart!

»
3 years ago, # |
  Vote: I like it +18 Vote: I do not like it

Step1. Find someone who types fast in QQ groups like "EI fan club" or "UOJ users". Step2. Try competing them out.

Caution! Not suitable for depressed users.

»
3 years ago, # |
Rev. 5   Vote: I like it +162 Vote: I do not like it

nocriz I'm surprised that nobody gave you an interesting answer yet so I'll give you my two cents (as a low GM who didn't train since 15 months, uh) about this topic.

In my opinion, you should try to maintain in your head a well-organized "database" of techniques/tricks, that you can quickly explore during your problem-solving routine (this routine has to be consistent and efficient).

In order to do that, I think that you should maintain (in a google doc/excel sheet/whatever) a small collection of problems that gave you an unique "enlightening feeling" to you. Avoid redundancy and try to have a wide "panorama" of the different types of problems.

When you solve such interesting problems, step back: if you made some time-consuming mistakes, ask yourself how you could avoid them ("how could I have intuitively seen that this greedy was clearly wrong?"). Take some time to understand their main ideas on a large scale/deep level, in your own words. If you like problemsetting, you can try to create other problems around this idea.

I'm pretty sure that the path from IGM to LGM is not as hard as it looks if you train properly. The main issue is that problemsets (and resources) look terribly disorganized to me: everyone loses a lot of time/energy. I have some interesting ideas to tackle this issue, but it would require a lot of time (years) and efforts...

Your rating is way above mine, I hope that this comment was not stupid/obvious for you...

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

    In order to do that, I think that you should maintain (in a google doc/excel sheet/whatever) a small collection of problems that gave you an unique "enlightening feeling" to you. Avoid redundancy and try to have a wide "panorama" of the different types of problems.

    I highly agree with most things you've said. But for training speed in particular, I suggest a hierarchical folder structure by technique name instead of a spreadsheet and to seek redundancy instead of avoiding it. A folder structure is still easy to skim but the reference problems are much easier to find/open/compare. Simply comparing how you implemented the same technique at different times often leads to enlightenment that allow you to settle on "default" implementations. It's much more useful than the "just practice more" advice because you get to see whether your practice is actually getting more efficient by grouping all past problems of the same type together.

    Consistency is speed. Either by allowing you to copy and paste stuff you've already written or to regurgitate the same thing without any thinking.

    (this ended up being a longwinded way of saying people should do topic-wise training if they are feeling slow lol)

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

      I don't know your rating, but I'm specifically talking about the IGM -> LGM path.

      In my opinion, the notion of "topics" (folders) becomes quite irrelevant above 2600 (you already know almost all main topics by then, and maybe have a pre-written library): you need brillant ad-hoc skills and multi-step thinking. And you can get them only through a deep analysis of a selection of a few unique, "shining" problems that can't be categorized "inside a folder".

      You may want to read the debate I had with Errichto here.

      I think that every GM+ should find his own personal compromise between my vision (solve a short selection of interesting problems but analyze them deeply) and his (solve more problems, don't waste your time). In other words, a compromise between "analysis time" and "memorization through repetition".

      Once again, I'm still young and not very mature yet, so I'm maybe just being stupid. But I feel that there is something wrong about the current organization of CP training...

      I will continue to think about it during the next years, and maybe try to do something about it when I'll have more hindsight.

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

        In my opinion, you should try to maintain in your head a well-organized "database" of techniques/tricks, that you can quickly explore during your problem-solving routine (this routine has to be consistent and efficient).

        If you are willing, can you please share your's if you maintain one ? I think it can help div2 contestants like me, who hope to get purple soon and tricks that might be trivial for you might end up teaching me very important aspects that I dont know yet. Tho, I completely understand if you dont will to share it. :)

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

          Sorry it's not easy to share, it's inside my brain but it would take a lot of time to accurately put it in a written form.