How to start learning for competitive programming?

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.

Replies

  • simplycoder
    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.
  • jigneshdgreat
    jigneshdgreat
    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?
  • simplycoder
    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.
  • jigneshdgreat
    jigneshdgreat
    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

You are reading an archived discussion.

Related Posts

are there any paper presentation competitions on this site??
i think its smps!!! and the from there it is supplied to all other parts.... please help to know more
Skill Development Certificate course "IT Tools For MSME" offered by SRM-CESD of SRM University. Course conducted by Entrepreneurs || Certification by SRM University Visit www.kbsedu.in to Download Prospectus and Application...
Hi everyone. I am studying fourier series.I have a question about this example. Please explain to me where does am come from? I dont understand the last part of the...
hi friends , i have been trying to install turbo c++ , but its not working ,,, but if i use dosbox its working but its a bit hectic to...