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

Автор nocriz, история, 4 года назад, По-английски

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.

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

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

type faster ;)

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

    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

»
4 года назад, # |
  Проголосовать: нравится +57 Проголосовать: не нравится
Am I right?
»
4 года назад, # |
Rev. 2   Проголосовать: нравится +24 Проголосовать: не нравится

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

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

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

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

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

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

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

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

Solve more problems and listen to Twice!

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

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.

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

Ignore this comment section and ask LGMs personally.

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

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

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

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

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

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.

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

    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

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

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

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

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

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

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

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

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

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

Just listen to your heart!

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

Why don't you come with your main account.. oops nvm

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

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

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

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

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

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

          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.

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

        Do you have more insight now?

»
7 месяцев назад, # |
  Проголосовать: нравится -13 Проголосовать: не нравится

The most interesting thing is that most of the replies are from people who are less experienced than CM giving advice to an IGM coder