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
-
simplycoderYou 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
What about maths? Is any special mathematical knowledge required?simplycoderYou 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. -
simplycoderMaths 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
thanks ..u guys r so helpfulsimplycoderMaths 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.
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...