|

HOW TO START WITH COMPETITIVE PROGRAMMING?

Competitive programming is practiced more nowadays as most companies hire a person having more skills. By learning competitive programming, one can efficiently solve problems.

It could be learned through many websites and courses provided by some big coders.

It helps you to judge your program and find the reason why your solution works. It allows you to exercise your brain by thinking out of the box to solve complex problems most quickly. It is an easy way to demonstrate your skills. It’s a way to practice coding faster and helps you to focus on the fundamentals. You get to learn the programming language in depth.

With an increasing number of companies, they have to manage their data so a programmer needs to learn Data Structures and Algorithms, linked lists, and many more to analyze the data.  You will get used to solving challenging problems after all.

It will benefit a lot in the placement process and in college years to submit projects. After solving many problems and winning the contests you will get the motivation to gain more.

There are some books that you can refer to for Competitive Programming

How to start Competitive Programming?

  1. Firstly, if you are interested in learning any language then first know its fundamentals.
  2. The language: you can choose any language from these: C++, Java, or Python. But C++ is preferred more, to begin with as it provides – Check here for best language for Competitive Programming
  3. Choose some platforms or books which can help you learn a language.
  4. Learn Data Structures and Algorithms: Learning DSA is the first step toward competitive programming; it includes queues, arrays, lists, sorting, etc.
  5. Start Practicing and solving problems: After learning fundamental skills of a particular language start to solve problems on them to sharpen your skills.
  6. Do at least 10-15 questions every day of different aspects to learn more every day.
  7. Try to participate in a coding contest to know about how to write codes in less time which gets executed in less time and also has less space complexity.
  8. Be consistent: Try to solve many problems every day and practice them consistently.
  9. Have patience: You cannot learn competitive programming in one day, it will take time as it is a vast topic.
  10. Before you begin: you should know about data structures and algorithms, learn – practice- repeat the process of coding, and don’t try to solve new problems one day before the contest.  
  11. There are many contests conducted by companies but how do you approach writing a contest if you are a beginner?
  12. Try to solve easy problems
  13. Be attentive: read the problem, try to analyze the statement, input and output should be kept in mind, use pen and paper to write logic code, and finally and most important is to read all the instructions carefully and understand them.
  14. Time management: through such contests, one will definitely learn how to manage time and solve problems within it.
  15. Check: go through the code carefully and check whether your code is accepted or not, try to find out the errors in it.

  12.  After the contest: Don’t be disappointed if you have not finished on time or your code was not accepted, as there are many opportunities and contests awaiting ahead. Try to analyze your mistakes and learn how to improve and work on them.

13. Learning is fun: Learning every day and gaining knowledge every day is really fun and will definitely help you in the future to get placements and have work experience.

14. Try to refer to some youtube channels for better reference

15. Try to practice these  basic programs to begin learning programming:

  1. Prime number
  2. Number of factors
  3. Generating primes using a sieve of Eratosthenes.
  4. Euler’s totient function
  5. Games
  6. Basic number theory
  7. Linear algebra
  8. Sieve of Eratosthenes
  9. Chinese remainder theorem
  10. Fast Fourier transform, Polynomials, etc

16.  For advanced level try these programs:

  • String Manipulation
  • Bit Manipulation
  • Game Theory
  • Advanced String Algorithms, Tries
  • Segment Trees, Fenwick Trees
  • Suffix Tree, Suffix Array
  • Heavy Light Decomposition
  • Disjoint Set, Graph Coloring, Network Flow
  • Sqrt Decomposition

17. Common mistakes :

  1. Don’t just focus on practicing also do learn the syntax and the topics related to the problems
  2. Also do not focus on only learning, you need to practice to get a better idea
  3. Only participating in the contest is not a solution,  you have to see other areas where you can showcase your logic
  4. Do not solve random questions, begin with level 1 always
  5. Never Give Up! Even if you get the wrong code or answer or do not get selected in the contest, don’t be upset, try again and again.

List of Websites for Competitive Programming

Lastly, try more and practice more every day to achieve your goal. There are many sources that can help you learn to program.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *