- Learn English, Maths and Typing
- Learning programming language
- Learning data Structures and algorithms
- Improving through Constant practice
- Help and Teach others
- learning English, Maths and Typing:
- Learning English is very important for better understanding of contest problem.As proper understanding of problem is leads to better solution.
- Competitive Programming (CP) doesn’t typically require to know high-level calculus or some rocket science. But there are some concepts and tricks which are sufficient most of the times. You can definitely start competitive coding without any mathematical background. But maths becomes essential as you dive deep into the world of CP. A majority of the Competitive Coding problems that you’ll encounter will have some mathematical logic or trick. All the algorithms that we learn are derived from a mathematical point of view. Most of the times, maths helps us solve the question within the necessary time constraints.
- Learning Touch Typing is also important skill in competitive programming.Touch typing (also called touch type or touch keyboarding) is a style of typing. Although the phrase refers to typing without using the sense of sight to find the keys—specifically, a touch typist will know their location on the keyboard through muscle memory—the term is often used to refer to a specific form of touch typing that involves placing the eight fingers in a horizontal row along the middle of the keyboard (the home row) and having them reach for specific other keys. (Under this usage, typists who do not look at the keyboard but do not use home row either are referred to as hybrid typists.) Both two-handed touch typing and one-handed touch typing are possible.
The best strategy to improve your competitive programming skill is to practice a lot, but you must solve gradually harder problems, not just the easy ones. Get out of your comfort zone and challenge yourself. For example, if you solve problems on Codeforces:
- Sort by number of people who solved it.
- Start with page 1
- Solve some problems. If you feel you can solve them in like 5-10 mins, immediately ignore the other problems, move on to page 2
- Continue until you feel challenged (e.g. need like an hour to solve / can not solve at all / ...).
- Try really hard, but if you fail, look at editorial, ask for solutions, ...
Here are Some Contest Sites:
Here are the best sites that host competitive programming contests, and provide contest platforms to practice old problems.
Codeforces
It is a Russian site, that provides high-quality contests with the highest frequency, sometimes up to twice a week. It features a blog system where you can ask questions and a practice problemset, which you can sort through with tags. It also has virtual contest support, and the ability to create groups to organize private contests.
Topcoder
It is a US-operated site, that hosts 1.5-hour SRM's (Single Round Matches). Topcoder also organizes the annual Topcoder Open tournament. It also hosts the TopCoder data science tutorials, a list of tutorials written by respected Topcoder members. One of the features that separate it from other sites is a separate challenge phase after contests.
HackerRank
HackerRank is a technology company currently based in the US, that focuses on competitive programming challenges. It hosts HourRanks, CodeSprints, 101 Hacks and Week Of Code contests on a monthly basis. It has learning tracks for various CS topics and programming languages.
CodeChef
It is an Indian site, that hosts 3 contests monthly, the Long Challenge (10-day challenge) and the shorter Cook-Off and Lunchtime Challenges. The Long Challenge is one of the best starting points for a beginner programmer, as it allows you to learn new concepts to solve problems competitively. It also organizes an annual flagship coding competition, the CodeChef SnackDown.
HackerEarth
HackerEarth is also an Indian company focusing on competitive programming and hiring challenges. It conducts the monthly Circuits, which are 9 day long challenges, as well as shorter challenges (HourStorms). It also hosts competitions conducted by various colleges around India.
Hacker Blocks
A problem archive organized by Coding Blocks, it hosts a large number of problems categorized by type. You can join contests with leaderboards, and race your way to the top. The practice section also contains innumerable problems categorized by type. You can also join its classroom or online courses, and get access to a community to help you when you get stuck with personalized support.
CSAcademy
It is also a relatively new site that hosts regular 2-hour programming contests. It also supports virtual contest participation, and its interface involves features like a graph editor, geometry tool and a difference checker tool.
AtCoder
AtCoder is a Japanese programming contest site for anyone from beginners to experts. They hold weekly programming contests, of various difficulty levels (Beginner, Regular and Grand contests).
5.Help and Teach other:
This step is totally depend upon the individual he wants or not.In my case it helps me a lot ..........
Conclusion:
So to master the Competitive Programming you need dedication, patience and continuous practice to solve the problems as many as you can.
Code,sleep,eat and repeat.
Enjoy Coding !
~Kuber Khandelwal
0 Comments
if you have any doubts.Please let me know