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

Автор MohammadFatafta, 11 лет назад, По-английски

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

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

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

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.

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

    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!

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

      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?

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

        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.

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

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

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

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.