iiPlasma's blog

By iiPlasma, history, 3 weeks ago, In English,

Hey everyone! My name is Ivy, and I'm doing a challenge to hit 2000 on CodeForces after a year of training. Here's some advice from some of the top competitors on how to tackle this challenge, a summary of the first month of training, and the first blog post of hopefully many.

https://iiplasma.github.io/blog/2019/11/10/the-start

Hope you enjoy it and have a nice day/night :D

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

»
3 weeks ago, # |
  Vote: I like it +69 Vote: I do not like it

Good luck and hopefully you really go through with this. I can't count the number of times I've seen people post similar things and then not do a competition ever again.

Also special props for setting a goal of 2000 and not "become red". While I still think it is a pretty hard goal, it seems more achievable, though it differs for everybody.

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

Good luck! Although my answers to your questions were not very helpful ...

Spoiler
»
3 weeks ago, # |
  Vote: I like it +28 Vote: I do not like it

I have completed my 1-year training phase and reach CM in the latest contest. I hope that you could to in the next year. The most valuable thing that I learn is that "If you are ready, you'll know", so just be patient and diligent. Hope this helps!

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

    Wow, your rating change in last 3 contest is +275, which is too good. Congratulations! How do you train yourself during practice ?

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

Good luck! This is a great idea, I'll try to keep up :)

»
3 weeks ago, # |
  Vote: I like it +1 Vote: I do not like it

Keep grinding and good luck! I wish I had time for such challenges :(

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

Unlike others I've seen, you seem to have done your home work and has got a solid plan. All the best!!!

»
3 weeks ago, # |
  Vote: I like it +20 Vote: I do not like it

Good luck! I was green on CF a year ago, you already have a better start than me since you solved more than zero problems in your first round, and didn't attempt div1+2F after WA on A. There's a interesting(and long) journey ahead. I personally found it beneficial to learn the most common topics, you can ignore rare topics at first if you are just aiming for rating. For ex. I've hit 2000 without any basic knowledge of geometry except pythagorean theorem.M̶y̶ ̶g̶o̶a̶l̶ ̶i̶s̶ ̶t̶o̶ ̶b̶e̶c̶o̶m̶e̶ ̶a̶ ̶g̶o̶o̶d̶ ̶s̶h̶i̶t̶p̶o̶s̶t̶e̶r̶ ̶i̶n̶ ̶a̶ ̶y̶e̶a̶r̶.

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

    kostia-you-can-do-it!

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

    Ye that's a good idea to focus on the common topics first. Thanks for the good wishes!

»
3 weeks ago, # |
  Vote: I like it -14 Vote: I do not like it

These are negligible if you are part of a CP community where you can find stronger programmers to help you when you’re stuck so don’t worry too much.

Does there even exist such a CP community in the first place? I only know a community called the downvote community.

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

    Definitely! discord.gg/bessMBe

    There are a lot of very smart people willing to help.

    • »
      »
      »
      3 weeks ago, # ^ |
      Rev. 2   Vote: I like it -8 Vote: I do not like it

      A lot of smart people waiting to help? Lmao. Or are there a lot of trolls willing to engage in a nonsense comversation?

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

        Well, my personal experience is that while a lot of the conversation is pretty nonsensical and joking around, if you just ask I guarantee you will get the help you need.

        • »
          »
          »
          »
          »
          3 weeks ago, # ^ |
          Rev. 4   Vote: I like it -15 Vote: I do not like it

          if you just ask I guarantee you will get the help you need.

          Nope. You don't have what it takes to guarantee this. When discord first started out, there were indeed a lot of helpful people. But, it somehow become a shit-posting channel when more and more div 2 coders joined in. Anyway, I have tried before (multiple times) in the past. But didn't get any help. The request was just washed away in the waves of (also unanswered) help requests of other people.

          You don't believe me? Try asking for help on problems that are non-trivial for coders who are cyan and below.

          Of course, I am not saying that people are obliged to help me. I am just saying that the chances of obtaining help in that discord is very low (especially if your problem requires the intervention of a div 1 coder).

          • »
            »
            »
            »
            »
            »
            3 weeks ago, # ^ |
            Rev. 3   Vote: I like it +1 Vote: I do not like it

            Sure! I think we're talking about different discord channels because the USACO one is really helpful! The CPC one, definitely less so, but still great.

            Most moderators are quite active, and they are definitely not "cyans."

            In fact, tmwilliamlin168, summitwei, Geothermal are all online right now.

            Also, people usually respond within 5-10 minutes. They're super active :)

            Exhibit A

            Exhibit B

            (All from today/yesterday)

            Also, I would definitely disagree with people being "trolls." Instead, I'd just call it normal conversation, just not related to competitive programming. A lot of people on the server are really awesome.

            Definitely my favorite.

            Anyways, I'd urge you to reconsider before calling out an entire community next time. This server has been amazing and I've met a lot of nice people on it.

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

              I agree. Also if anyone ever needs java help I am happy to help anytime!

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

    The official CP discord @ discord.gg/algorithms is the best place I've found.

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

      Sure. Let's see how strong your patience is. One day, you will realize that you only get help in that discord 5% of the time (esp. if the problems that you ask help for are in div 1 level). The other 95%? You will either be trolled or ghosted.

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

      It is a good place, but I am more familiar with the USACO discord, where people are generally more willing to help.

      You can check out the discord at this link.

»
3 weeks ago, # |
  Vote: I like it +10 Vote: I do not like it

Awesome goal, go for it! I also wish to hit pupil one day!

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

Batrr became an international grandmaster in a year, just for the motivation:)

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

I wish you the best of luck! I started taking CodeForces more seriously around 7 months ago, when I was rated 1540, and I just reached 2000+ today, so this is definitely a realistic goal. However, even though I have reached 2000+, I still feel like there is so much to learn. As kostia244 mentioned, focus on the basics and the most common topics. If you are using C++, knowing the STL really well helps a lot, but also, sometimes, there is no specific algorithm/data structure which will apply to a problem and you just have to be creative about it.

I think problem C from Round 601, Div. 2 is a good example of this. Personally, I have never seen a problem like this before, but by making my own test cases and thinking through the problem, I was able to create my own ad hoc solution to the problem and it worked. At least for me, I think practicing these kinds of creative, ad hoc problems were the most helpful in reaching a rating of 2000+. Of course, knowledge of graph theory, number theory, and general mathematics/geometry has helped me in quite a few problems, too, but, at least for now, I have been able to get away without being too good at dynamic programming or data structures like lazy segment trees.