CrazyEngineers
  • How to start learning for competitive programming?

    Updated: Oct 26, 2024
    Views: 1.4K
    I am interested in solving coding problems like the ones on codechef, acm icpc. But I find I am approaching it the wrong way. All I know is basic c++ that I learned in sem1. So it takes me a lot of time solving those algorithmic problems. Perhaps I should first study algorithms and data structures? I should focus more on standard library in c++? I am little confused, so would be grateful if anyone suggest me how I should start for competitive programming.Also how can i code better in c++, using its advanced features.
    0
    Replies
Howdy guest!
Dear guest, you must be logged-in to participate on CrazyEngineers. We would love to have you as a member of our community. Consider creating an account or login.
Replies
  • simplycoder

    MemberJan 27, 2012

    You need to build in basic understanding first before going for any advance concepts.
    If you dont have good foundation, you would stumble on this when you try to solve them.
    Dont be in a hurry to get good and be prepared to invest atleast 6 months before you can solve problems on forums with an ease.

    You can plan something similar.
    1)Learn a language so that atleast you can know basic concepts and this includes file handling.
    2)Write many small programs where in you print primes till 1000000 or similar. Start maintaining a library of your own where in you would easily find them and use them.
    3)Learn data-structures and algorithms start with stacks,queues,Linkedlists.. and so on.. donot underestimate their powers.
    4)Focus on algorithms.
    5)Try to use templates from std C.
    6)Practice a lot.

    Above schedule should require dedicated efforts and time period any where from 6 months to a year.
    Once you have done this, all is left is practice.
    Are you sure? This action cannot be undone.
    Cancel
  • jigneshdgreat

    MemberJan 28, 2012

    simplycoder
    You need to build in basic understanding first before going for any advance concepts.
    If you dont have good foundation, you would stumble on this when you try to solve them.
    Dont be in a hurry to get good and be prepared to invest atleast 6 months before you can solve problems on forums with an ease.

    You can plan something similar.
    1)Learn a language so that atleast you can know basic concepts and this includes file handling.
    2)Write many small programs where in you print primes till 1000000 or similar. Start maintaining a library of your own where in you would easily find them and use them.
    3)Learn data-structures and algorithms start with stacks,queues,Linkedlists.. and so on.. donot underestimate their powers.
    4)Focus on algorithms.
    5)Try to use templates from std C.
    6)Practice a lot.

    Above schedule should require dedicated efforts and time period any where from 6 months to a year.
    Once you have done this, all is left is practice.
    What about maths? Is any special mathematical knowledge required?
    Are you sure? This action cannot be undone.
    Cancel
  • simplycoder

    MemberJan 28, 2012

    Maths is an integral part of CS.
    But there is nothing fancy or special maths required.
    You can begin with Recurrence relations and Asymptotic analysis.
    You can also start with Graph Theory.

    You can find plenty of sources online. You can also refer to my blog. It has introduction to asymptotic analysis.
    Are you sure? This action cannot be undone.
    Cancel
  • jigneshdgreat

    MemberJan 28, 2012

    simplycoder
    Maths is an integral part of CS.
    But there is nothing fancy or special maths required.
    You can begin with Recurrence relations and Asymptotic analysis.
    You can also start with Graph Theory.

    You can find plenty of sources online. You can also refer to my blog. It has introduction to asymptotic analysis.
    thanks ..u guys r so helpful
    Are you sure? This action cannot be undone.
    Cancel
Home Channels Search Login Register