Step-1 : Find your motivation for getting started with cp(competitive programming).You need that fire in you. It can be the adrenaline rush of solving the problems,high ratings and good ranks,getting good at coding interviews,improving your resume,increasing your chances to get selected at a good company,etc.
Step-2: Make sure you are thorough with your programming basics. You need to be very thorough with : -
1)Conditional Statements.
2)Loops.
3)Arrays.
4)Strings.
You should be able to manipulate and mix up these concepts.
To improve upon these, practice all problems and learn theory from here :-
1)Decision Making Statement
2)C++ Programs | Basic C++ Programs
3)If Statement in C++
4)If Else Statement in C++
5)Switch Case in C++
6)Control Flow Statement
7)While Loop in C++
8)For Loop in C++ — C++ Tutorial
9)Do While Loop in C++
Youtube Channels :-
1)easytuts4you
2)C++ by Saurabh Shukla Sir
3)
VIDEO
(English)
Now, only if you’re confident with your basics,then move ahead.
Step-3 : Try to stick to C++
Step-4: Go to hackerrank and solve first 50 problem from this list :-
Solve Algorithms Code Challenges
You can always look at the solution,other’s code and discussion if you ever get stuck.
Step-5:
Learn about hashing techniques and various STL(s) in C++ from geeksforgeeks website.
Link : https://www.geeksforgeeks.org/the-c-standard-template-library-stl/
Spend 3–4 months here, all you need to do in this period is solve implementation problems, normal optimization problems, all you gotta do is use loops,conditions,arrays and basic arithmetic in this period. Nothing more, nothing less! Don’t solve any problem which involves advanced topics like graphs,advanced-math,trees,etc.
Most important thing is to be motivated all the time during this period. You’ll face the highest kind of resistance here. Only focus on problems and solutions, not on other coders,their ratings and performances, its a complete waste of time! Learn this secret trick!
You have to train yourself to find solutions to algorithmic problems in this time frame, practice problems from here :->
Link:- https://codeforces.com/problemset?tags=greedy,combine-tags-by-or,implementation,1000-1200
2)Search Long Challenge on Codechef and solve first 2 problems of every month from Feb-2018 to September-2019.
3)Search Cookoff/Lunchtime on Codechef and solve first 2 problems of every month from Feb-2018 to September-2019.
4)Everytime you find some new concept, save it in your diary and your brain ;)
5)Go to Hackerearth website and solve all problems under basic programming tab from here :- Basics of Input/Output Practice Problems Basic Programming | HackerEarth
(Start with very easy!)
6)Solve from here : — subarray Archives — GeeksforGeeks
Strings Archives — GeeksforGeeks
When you feel tuned in with competitive programming , start participating in :
1)Cookoff/Lunchtime.
2)ABCs of AtCoder
3)Codeforces Div-2
4)Never participate in Long Challenges, it slows down your progress if you are a beginner ,also close to 60% solutions are plagiarised in Long,it involves high amount of cheating , hence you will never know where you stand and most probably you will enter the wrong route.
When you reach cyan on codeforces OR 4* on Codechef, you can assume that you are past the beginner level and the next step is : https://www.desiqna.in/219/best-free-resources-for-competitive-programming