Tech-Eva



General Theory of Relativity


“There’s only one best language for competitive programming. You need to be exceptionally good with algorithms to start competitive programming”. Well I can assure you, these are myths. If you are someone who wonders where to start from, this blog is for you. Also don’t forget to hang around till the end as I will be sharing important resources."

My journey, like every other, wasn't a cake walk. Implementing simple logic for me was difficult. Making mistakes is a part of this sport. Below are certain points one should keep in mind before starting.

1. PROGRAMMING LANGUAGE

You can do competitive programming in any language. C, C++, Java, Python or any language you’re comfortable with.

2. REGULAR PRACTICE IS THE KEY

Initially, with every code I wrote, error was common. When you feel like throwing away your laptop, don’t. Sit back and debug the code yourself. This improves your debugging skills as well as increases your efficiency. Speed comes only with practice. I am no expert. I practice, I learn, and I am doing this everyday. Start problem solving from Hacker Rank , Hacker Earth (start from easy and then move to difficult problems).

3. CONTEST PARTICIPATION

Start with easy contests. You get to experience the environment and this also helps you in learning new concepts. Code Chef organizes a 10 day long challenge every month, it is very beginner friendly and has enough time to solve the problems. The editorials provided are very useful for learning purposes as well. Be patient. You might face a low rating, everyone faces that, work hard and practice. Do keep a track of ongoing contests like hackercup and codejam.

4. LEARN DATA STRUCTURES AND ALGORITHMS

Data structures make the program more efficient. Problems use particular data structures. And you also need to know data structures to implement certain algorithms. Every algorithm has time/space complexity, make sure to read the entire problem. If your solution is not optimal in certain cases you can get a TLE( time limit exceeded) or MLE(memory limit exceeded). You can learn and practice on Geeks For Geeks. Youtube is a great source as well. Free “Competitive Programmer’s Handbook”

5. EDITOR

You can use any editor of your choice. Options:
• Geany
• VS code
• Sublime text
• CP editor

PS: Keep calm and keep coding.