MohammadFatafta's blog

By MohammadFatafta, 10 years ago, In English

Hello guys. :)

I'm from Palestine, and I'm new in the field of competitive programming, actually the whole country is new in this field, we have no national IOI yet, and it's just the second year where a there was a national ACM ICPC contest.

so I wonder what is the best thing to do to get started (and fast as I really hope that next year we get a good rank in the regional ICPC), should I read a specific book? I started participating in CF's contests and topcoders ones, and I found that I can solve Div2 easy problems pretty fast, but when it comes to C,D and E ones, which usually need algorithms I kinda stuck in there, so is there a source where I can learn them well?

thanks in advance :)

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

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

You should follow a systematic training plan. There are some good places for getting started: USACO Training Program Gateway, Topcoder Algorithm Tutorials, UVA onlinejugde with Book and Problem Set.

You might also find lots of interesting stories including training methodology at Competitive Programming on Quora.

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

    I strongly agree with FunnyScientist here too. Especially the USACO Training Program and the Book (Programming Challenges) for beginners. These will literally take you from nothing to knowing everything you would need to compete at a reasonable level in programming contests.

    After that it's practice practice practice. There's no "fast" way of doing it though. It all depends on how much work you put into it!

    Good luck :)

    PS: After reading Programming Challenges, many people recommend Introduction to Algorithms by Thomas Cormen, et. al. It is very proof-heavy, and a bit more advanced. But it is definitely worth it!

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

      thanks :)

      from your experience, how much you think it takes to turn from knowing very little algorithms, to a really good level in programming contests? that's if a person put real efforts, like 3hrs a day, or even more?

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

        I would say, it would take around 3 years. Just looking at the "Rating curves" of various people on Codeforces, I think a person could go from being a "Blue" coder to a Red Coder in 2 years. And it would take anywhere from a few months to about a year to become a blue coder if you are completely new.

        Of course, it is different with everyone though! Some really smart people become a red after a few months! But these are usually people who have participated in other competitions (such as IMO or IOI) when they were younger.

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

          Oh I see :) again, thanks

          btw, I started to be blue xD I think this is a good starting for me.

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

    Thanks guys, I really appreciate you answers a lot :)

»
10 years ago, # |
  Vote: I like it +5 Vote: I do not like it

Hii,

You can refer to

Codechef — getting started

Though it says "getting-started",but it has all the necessary resources at one place.It's an awesome collection and has been enriched by many people since it's inception.