Introduction to Competitive Programming - CODELABS3277

Competitive Programming - Analysis of Algorithm and Efficient Implementation.

Hi, here we will be learning about what is Competitive ProgrammingWhat is it? why it is necessary? why should we do it? how we should do it? inspiration to solve the problem.

So let's start...

What is Competitive Programming? What is it?

Competitive Programming is a Sport of problem-Solving in which Individual or Teams solve the problems in the given time. Eg. ACM ICPC - it consists of 3 Members and you will be given 10 problems to solve in 5 Hrs.
In simple language, we can call Competitive Programming = Creative Thinking + Implementation of the proper algorithm to solve the given problem efficiently.

Why it is Necessary and why should we do it?

It is necessary because of the following reason.
  • It helps us to train our brain to think logically and analytically.
  • Ones we become good at this then in learning other things does not take too much time.
  • The ability to understand new topics or concept become easier.
  • To get placed in core companies such as Google, Microsoft, Apple, Amazon, etc.
  • To win crores of prize money by winning competition such as ACM ICPC and be famous globally.
  • To travel around the world and meet amazing people without investing your money.
  • To develop self-confidence and cognitive skill.

How should we do it?

The steps to start with Competitive Programming will differ depending on the experience of the Individual, it depends on whether one is experienced or beginner. I will be considering beginner first,

  • So when we start first we need to study the basic of one language. Currently, the most used language by the competitive programmer is C++.
  • After going through the basics of the language start solving basic problems in the Practice Problems. Solve at least 1 problem regularly though in beginning you will feel like quitting please don't do it.
  • Be consistent with it and don't miss any day, you should make sure that you solve 1 problem before you sleep.
  • After you are good at basics of language and problem solving, start learning different Data Structure and Algorithm Concepts and apply in problem-solving.
  • And once you master these then Compete.
  • Hackerrank - for beginners to practice language and concepts related to it.
  • SPOJ - To start with problem solving and practice.
  • Hackerearth - To practice DSA(Data Structure and Algorithms)  and Maths
  • Codechef
  • Codeforces
  • Topcoder
The above are arranged in the order of problem difficulties from Basics to Legendry level of problem-solving. 

Inspiration to Programming.

Some of the world's best Problem Solver & Competitive Programmer.

Gennady Korotkevich

Belarusian sport programmer who has won major international competitions since age 11, as well as numerous national competitions. His top accomplishments include six consecutive gold medals in the International Olympiad in Informatics as well as the world championship in the 2013 and 2015 International Collegiate Programming Contest World Finals.

Petr Mitrichev
Petr Mitrichev (born 19 March 1985) is a Russian competitive programmer who has won multiple major international competitions. Now working at Google as a Software Engineer (on Search Engine. His accomplishments include gold (2000, 2002) and silver (2001) medals in the IOI, gold medals (2003, 2005) in the ACM ICPC World Finals as part of the team of Moscow State University and winning Google Code Jam (2006), the Topcoder Open (2018, 2015, 2013, 2006), the Topcoder Collegiate Challenge (2006, 2007), Facebook Hacker Cup (2011, 2013, 2017) as well as numerous national and online contests. 

He has achieved the highest rating ever among the Algorithm competitors of Topcoder and consistently ranks in the top two of the world. He is the highest rated Algorithm coder on Topcoder ratings as of April 6, 2015. He currently works at Google on the search engine and helps to prepare Code Jam

(Content Credit: Wikipedia)

Thank You
If you find error's in the page please do comment.