Introduction to competitive programming


you dream to become a professional programmer and a great problem solver, you want to improve your programming skills and work with a great company like facebook and google, then you are at the right place. I decided to lunch a new series where I will post about competitive programming and problem-solving.

in this article, I will just introduce competitive programming and talk about some resource where you can find tutorials, training session and competition so let's start.

I- STOP LEARNING THOUSAND PROGRAMMING LANGUAGE

I know that many of you had made this mistake, to be frank, I made this mistake me too by learning thousand of programming language without mastering at least one of them.
This a common mistake that beginners do when they start learning programming, they always learn many programming languages, without practice a lot the first or without learning all about a single one.
When I began learning programming I started to learn c++ and in a couple of months after I have understood all basics of c++ I decided to learn java then c# and so on. this was a terrible mistake because when I faced my first problem in a competition I didn't know how to solve it in c++ nor in any other language. from that day I decided to focus on c++ and learn algorithm and that day I discovered that I am far to know anything about programming.

The main goal of programming is not to learn many languages or to create cool apps and software but it's about solving problems in the shortest time and with using the minimum amount of memory resources.
      

II- WHAT IS COMPETITIVE PROGRAMMING 

Competitive programming is like a sport where competitors have a set of algorithm problem that they have to solve. the first person who solves all the problem is the winner but put in mind that the program that you will develop need to solve the problem in the minimum time and with using the minimum amount of memory. some competition uses two types of inputs ( one short and one large ) for better testing.

some company such as Google or Facebook use this competition to recruit their worker, that's why the level of the competitor is very high.

III-WHERE CAN I LEARN COMPETITIVE PROGRAMMING 

Now we will talk about the important thing of this article, where we can find a nice tutorial about competitive programming.
let me tell you that you can found too many tutorials on YouTube and many websites such as hakerearth and HackRank...
but you have to know how to learn and make a good learning program.
you have to know that there are many categories of problems and every one of them has his own way to be solved. 
the main categories are :

  1. sorting problems
  2. ad hoc
  3. graph theory
  4. game theory
  5. dynamic programming
  6. arithmetic
and there are too many others.
for the learning resources, I will make a training session about competitive programming and problem solving by solving the most known problem and gives you some hint and tips and how I solved them.

but I will also give you some website where you can learn.

  1. HackerEarth
  2. HackerRank
  3. Youtube ( just shear for competitive programming ) 

IV-HOW  CAN I APPLY WHAT I HAVE LEARN

Now that you have finally learned how to solve some problem, you have to apply your knowledge in a true situation, there no better way to learn than to test his knowledge. I will give you know the best website where you can compete and the most popular online competitive programming.

1-competitive programming websites

 a-CodeForces

one of the most know websites, code forces contain more than 15K problem, it's the best library of problem and where you can solve them and compete with other people it also has his rank system that will give you your rank after every competition.

b-CodeChef

like Codeforces, CodeChef is also a competitive programming platform where you can solve many kinds of problems

c-Google Code Jam

GCJ is one of the most popular problem-solving competition, organized by Google and have many problems, it also gives a price to the finalist that's why I advise you to visit it and try it.

these are the main resource that I use to train my self but there are too many others that I will list to you.

  • DMOJ
  • HackerRank
  • HackerEarth
  • Euler Project
  • France-IOI

I hope that you enjoyed this article and that you will love competitive programming, wait for us for the new series of Tutorial about problem-solving where we will solve 3 problems a day. so stay tuned.

  















Introduction to competitive programming Introduction to competitive programming Reviewed by Medics on May 28, 2019 Rating: 5

No comments:

-->
Powered by Blogger.