Extremespeed's blog

By Extremespeed, 7 weeks ago, In English,

Update: Thanks for all the downovtes! Keep them coming! The more the better as they'll only serve as fuel for this uphill climb that lies ahead of me. I will happily prove you all wrong in a year :)

Hi everyone,

Sorry for the pretentious title and rant; it's mostly a note to myself although I'm happy if it fires up some of you. I am someone with limited competitive programming experience and zero contests so it's all words at this point. But I just have to make a public commitment of reaching red in 6 months and LGM in 12 months. It sounds like a joke, but I am taking it seriously and have all the time and resources so I don't see why it's not possible. I do have some CS background from MIT but that doesn't mean anything because I didn't really commit myself to studying while in college. In fact, I thought I was hot shit and slacked off in classes and ended up getting kicked out earlier this year due to my abysmal grades. So I do have enough reasons to prove myself and thus the ambitious claim that seems somewhat delusional. But I understand what I am getting myself into and the effort it's going to take to pull it off.

That said, it doesn't matter whether I accomplish the boastful claim or not; by the end of 2020, I will at least have rediscovered my interest in problem-solving which I have locked away for the past 10 years. And I will probably have become good enough to the point that I can say that I have acquired a new hobby of learning algorithms which I actually find fun and rewarding. And hopefully give back to the community once I am competent enough. And I hope to ace my CS classes once I head back to college because I pretty much bombed every single exam. It absolutely sucked.

I am inspired by all of you who have made incredible progress in their CP journey, particularly Benq (who btw as good as he is today didn't solve a single problem on his first contest) and also a more recent one by tzuyu_chou who managed to reach LGM in just 18 months after yesterday's contest, who also started out by solving 0 problems in their first two contests and bounced back with probably one of the steepest climbs to red in just a couple of months. I am not competing against anyone and rating is just a number but if results like these don't inspire you, I don't know what inspiration means. It shows that remarkable improvements are possible and you never know until you give it your all and let it consume your life. Not to the point of exhaustion or sickness, but definitely beyond what is considered possible.

All the top red-coders have reached where they are today through sheer hard work. While you were doing something else, they were busy getting stumped by problems during their early days as well. And now that they are at the peak of their powers, we dismiss YEARS of effort as TALENT (which btw is highly overrated). Instead of trying to understand how they got there, finding that SECRET, why don't we try to appreciate the time and patience they invested to get there? And then put maybe half of that effort ourselves. I guarantee that will make you red if you care so much about rating like myself.

I have held back myself from CP due to a lot of self-doubt and fear of competing against so many talented problem-solvers. Instead of spending time solving another problem or learning an algorithm, I have spent hours searching "how to become red in 1 year" or "how to get better at CP" or "how long to think about a problem" or "which book to study" i.e. focusing my time on the completely wrong things. Finding a reason to NOT solve a problem. But all that BS must now end and I hope everyone who has similar questions will practice the art itself instead of trying to get the "answer".

As for training, I have been going through the USACO Training Gateway along with the CP3 book for the past 2 weeks and while I am nowhere near ready to start competing in contests, I have learned a ton already. I hope to at least make a single pass through the following resources before Google Codejam in 2020:

1) USACO Training Gateway (I hear it's outdated but really like the problems so far. I have almost completed the first chapter.) 2) Competitive Programming 3 (I bought the book 3 years ago but was daunted by the material and never touched it. I really like the coverage of the book so far and the direct relevance of the topics and approach in general to CP. Currently solving the starred problems and tracking myself on uhunt: https://uhunt.onlinejudge.org/id/1100020) 3) Art of Problem Solving Vol 1 and 2 (I suck at competition math and have heard that many red coders have benefitted greatly from a competitive math background) 4) CLRS (This was our prescribed textbook for the algorithms courses but I never took the time to carefully read it)

I think this should be enough for reaching red and I have other resources in mind once I get there. But I would like to focus on quanity rather than quality at the moment and committing to just these four books should give me a good foundation. Please let me know if you have any other resources in mind that you have found useful in your training, although most of them are widely known already.

That's pretty much it. If you have already given years to CP and have hit a plateau that makes it seem impossible to progress then please feel free to call me out on my delusions; I will probably still tell you that you are still limiting yourself in some way, whether that's through your beliefs about what's possible or through not challenging yourself with problems that seem impossible to solve. If you are an accomplished coder today and were once in my shoes, then feel free to leave any words of encouragement, although I don't expect anything because at this point it's all talk.

But if you are someone like me looking to start after much deliberation and careful planning, gathering resources and exhausting every single quora question on competitive programming, you are probably waiting for the right moment to dive into CP. It's never going to come with that attitude. Trust me. I've given it a thought for three years and did absolutely nothing assuming that things would just fall into place. It wasn't due to not having an interest but just being indecisive and resisting the deep drive to want to explore that interest. You need to discipline your mind and not give into whatever thought that comes into your head that tells maybe it's not possible for these following reasons because this is what the scientific research says or this is what my friend told me the other day. That's all hearsay and belief. Reasons to stop you from being better. Stop being a spectator and get in the game. Give your life to CP and CP will give its life to you (metaphporically, not literally).

And if it doesn't work out for me, I will probably have made a fool out of myself but it doesn't matter because I will make it happen.

(Sorry if this came off as an arrogant post. It's mostly just to keep myself on track.)

 
 
 
 
  • Vote: I like it
  • -81
  • Vote: I do not like it

»
7 weeks ago, # |
Rev. 2   Vote: I like it +9 Vote: I do not like it

Note that...

I am not competing against anyone

Because the sum of rating does not increase after each contest, you need to get into the top 10~20 to reach LGM, which is competing by definition.

So, if it doesn't work for you, you can look for some more realistic target.

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

    Thanks for your comment. Perhaps I should have worded it differently. I meant that I wasn't competing against anyone personally or for the need to "beat" someone. Because that sort of mentality of trying to "beat" someone would probably just hinder anyone's progress, even the top-rated coders. Instead I think it's more valuable to focus on where I currently am, what topics I need to master, solving more difficult problems, etc. and eventually if I solve enough difficult problems consistently, I don't see why LGM is not within reach.

    But yes, I agree with what you are saying. Ultimately, it's a number's game and I will have to technically beat many other competitors consistenly (including LGM's) by solving more problems than them to increase my rating. Although I will consider that more of a personal victory rather than competing against them. Because either I solve the problem or I don't.

»
7 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Slow and steady wins the race, my friend. Don't be like the hare. : )

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

    That's an outdated feel-good story buddy :) Slow and steady doesn't win contests. And I don't think 6-12 months is a short amount of time though. One can easily solve 1000-2000 problems in a year.

  • »
    »
    7 weeks ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    Fast and not sleepin' sounds better than slow and steady.

»
7 weeks ago, # |
  Vote: I like it +2 Vote: I do not like it

Are you going to spend all your time entirely on CP? If no, I really doubt it's possible to consider this blog seriously, if yes, then it feels like it's a bit wrong thing to do...

I believe that the goal is achievable if you are super smart + super motivated + give all your free time to doing CP, but I don't believe that it's possible to stay motivated for so long...

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

    Thanks for your realistic advice and heads-up. I really appreciate it. As crazy as it sounds, I do intend to fully commit myself but I am well aware that I may end up burning out. I will try to balance my day with enough sleep, exercise, hydration, and a couple hours of relaxation so that I don't overtrain. Like I mentioned, I am currently on leave so I have the next few years all to myself (I don't think I will head back until Fall 2021 the latest) and I have given this plenty of thought. I know it's difficult to consider these types of posts seriously because anyone can make these claims when the idealism is high in the early stages. You are totally right in that it doesn't take long for motivation to begin to wane. But I intend to stick with it and see how far I can take it, hopefully all the way. It is good to know that you being someone with experience believe there's a slight chance it might be possible given the right combination of those three elements. I believe I have a little bit of the first and enough of the latter two.