cs_gator's blog

By cs_gator, history, 7 months ago, In English,

Honestly, for a beginner, the amount of resources to practice from and the huge number of platforms available is overwhelming. So I have decided to stick to one place and keep practicing consistently. SPOJ seemed like a really good place and so did the UVa problem collection to hone skills. Atcoder contests are good but solutions are in japanese :/ , leetcode contests are relatively easier.

I want to improve my problem-solving skills and I have a year of free time, what best practices would you guys suggest ? should I pick a tag and solve different problems to learn the technique? or just pick CF div2 contests, upsolve the problems and learn by doing that? what is the fastest way to become good at this stuff?

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

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

It is very important to understand all the basic concepts.

So I'll recommend you to practice easy problems first and then gradually increase the difficulty level of the problems.

Codeforces problemset(in sorted order) or a2oj, I believe, will provide you with the problems in the suitable order.

Jumping directly to the Div 2 contest is not advisable as they require some prerequisite knowledge which you can attain after you practice enough basic problems on that topic.

Once you grasp the basic behind any topic you'll be able to build more on that.

Hope this helps.:)

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

    thanks that surely helps and makes sense for beginners like me.

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

    Well,matcoder I saw your profile just now and it seems like you started competitive programming just one year ago according to your CF profile. Can you tell me please you just practice in CF or any other site before coming CF to improve your basic concept.

    • »
      »
      »
      7 months ago, # ^ |
      Rev. 2   Vote: I like it +1 Vote: I do not like it

      Although I am a learner too, I will try to elaborate my journey till now in competitive programming.

      Actually before coming to the institute, I had no idea about programming. It's due to peer pressure that I joined codeforces and started solving easy problems. Initially I could only solve A level problems. I found this (competitive programming) very interesting and tried to carry it on by solving more and more problems. By solving quite a large number of easy problems in the problemset, I was able to cover almost every basic concept except few that required a little more guidance and which I learnt during institute courses(graphs,dp,etc.). So my key aim was to solve enough problems on a concept, so that it's base becomes strong helping to explore more techniques and new concepts.

      Also I want to add that, sometimes we get to face a problem where implementation is not easy, so we leave it and move forward. Instead, we must learn that and try to do it on our own. This technique works really well when we try to explore new things. Like it happened a lot to me, when I tried to implement binary search.

      Hope this helps:)

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

Knowledge of basic topics opens you a road to Expert. Then just solve div2 contests and pick ideas from editorials.

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

    any list of basic topics on codeforces or elsewhere ?

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

      Lmao. Are you looking for a magical list of problems that will make you become red on completion?

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

        No, because I know it all depends on how much effort I put it into problem-solving by myself, logical abilities, learning speed, etc but as Numb said, having knowledge of basic topics is important so I wanted to know what he refers to as basics :)

»
7 months ago, # |
  Vote: I like it +8 Vote: I do not like it

Regarding AtCoder editorials there is usually an English section at the bottom. I also used to think AtCoder only had Japanese solutions until I discovered this. Also sometimes they initially only put Japanese solutions and add English solutions later.

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

    Thanks for this info! I hadn't noticed at all :). Did you solve a lot of atcoder contest problems ?

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

      I do atcoder fairly regularly. They have good questions and the time zone makes it quite convenient for me.

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

        Well, for which section you participate, ABR or ARC?

»
7 months ago, # |
Rev. 2   Vote: I like it -30 Vote: I do not like it

LoOoOoOoOoL. Rofl. If you have just one year and you want to become good in this field, forget it. Your time is better spent elsewhere.

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

    Looololololo. ROFL. LMAO. HAHAHAAHAHAH. Maybe he just wants to learn something and likes programming. If all you do is troll like this, forget it. Your time is better spent elsewhere.

    • »
      »
      »
      7 months ago, # ^ |
      Rev. 2   Vote: I like it -6 Vote: I do not like it

      Maybe he just wants to learn something and likes programming

      Lmao. Programming? What does programming mean to you? Writing a bunch of unreadable code? Or cranking out solutions to over simplified problems in a short time span? All these are not even traits of a programmer. They are the traits of a code monkey, or rather, a code gorilla.

      Anyway, like all competitive sport, the OP will need much more than just a year (with a lot of effort along the way) if he/she really wants to be at the top of this sport.

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

        How do you know he wants to reach the top and not just to have fun?
        "To an ignorant person, my posts are trolling. But to people who know how to read between the lines, they see reality — the real meaning of programming." Every troll is a "prophet" of his glorious ideology ("at the top of the tree of life, there is not love, there is lulz").
        But such things are way too vague to be discussed and I have better things to do than take you seriously and discuss things with you.
        Yes that means you won the discussion that was never held.

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

      If all you do is troll like this

      To an ignorant person, my posts are trolling. But to people who know how to read between the lines, they see reality — the real meaning of programming.

      Just look at who is concerned about competitive programming globally:

      https://trends.google.com/trends/explore?q=competitive%20programming

      It is quite obvious that this field is pretty much for self-entertainment and shouldn't be taken so seriously.

»
7 months ago, # |
  Vote: I like it -6 Vote: I do not like it

You should worship gKseni. She will take care of the rest. Pray for us.