 Most of you must have already heard about
competitive programming. According to a writer on
Quora, Competitive programming is solving well-
defined problems by writing computer
programs under specified limits.
 What it teaches you?
 It is a field where every coder showcases their
problem-solving skills under various constraints that
forces them to think creatively and efficiently.
 You will learn to opt for the best possible approach by
analyzing the problem in space and time. More than
anything else, it requires patience.
 Practice makes a man perfect. Without practice, you
won’t be able to learn the art of thinking.
 Where to start?
 With so many resources online, confusion is natural.
Here is the list of some of the popular sites to
eliminate the confusion.
 Choose a programming language (C, C++, or Python,
any language)
 Understand Time and Space Complexity (there is
always more than one solution to a problem, try to
come up with the best one)
 Learn Data Structure and Algorithm (DSA) by heart.
Learn when, where, and how to apply the concepts.
 SPOJ has a problem archive for all beginners. Build
your confidence by solving a few problems with
maximum submissions, later start solving problems
topic-wise. Try to solve your doubts using Google or
the help of an expert.
 CODECHEF Do participate in the contests organized
by Codechef every month specially Lunchtime. Take
reference from the tutorials and then start coding.
This will help you to learn a lot. Look at the top
graded codes for better implementation.
 CODEFORCES This site is for intermediate coders.
They host 10 short contests of 2–3 hours duration.
 TOPCODER Use this website once you can write code
fast and have a proper experience.
 Get your hands dirty in the coding. Keep practicing,
practicing, and practicing.
Some of the topics that you should
master
 BITS
 Bits manipulation
 Bit Twiddling
 Binary Search
 Left Binary Search
 Right Binary Search
 Arrays and Searching using Binary Search
 Graphs
 BFS (Breadth-First Search)/ Transversal BFS
 DFS (Depth-First Search)/ Transversal DFS
 Greedy algorithms
 It is one of the most intuitive algorithms
 They are generally used in optimization problems
 Dynamic Programming
 Try to solve all the problems available in
this document
 Programming is all about patience. Keep trying every
day, every week till you start getting the right
approach, don’t quit. You will improve day by day,
just keep your growth consistent.
THANK YOU
FOR MORE DETAILS
VISIT US @
www.tutort.net

Road map to competitive programming

  • 2.
     Most ofyou must have already heard about competitive programming. According to a writer on Quora, Competitive programming is solving well- defined problems by writing computer programs under specified limits.
  • 4.
     What itteaches you?  It is a field where every coder showcases their problem-solving skills under various constraints that forces them to think creatively and efficiently.
  • 5.
     You willlearn to opt for the best possible approach by analyzing the problem in space and time. More than anything else, it requires patience.
  • 7.
     Practice makesa man perfect. Without practice, you won’t be able to learn the art of thinking.
  • 8.
     Where tostart?  With so many resources online, confusion is natural. Here is the list of some of the popular sites to eliminate the confusion.
  • 9.
     Choose aprogramming language (C, C++, or Python, any language)  Understand Time and Space Complexity (there is always more than one solution to a problem, try to come up with the best one)
  • 10.
     Learn DataStructure and Algorithm (DSA) by heart. Learn when, where, and how to apply the concepts.
  • 12.
     SPOJ hasa problem archive for all beginners. Build your confidence by solving a few problems with maximum submissions, later start solving problems topic-wise. Try to solve your doubts using Google or the help of an expert.
  • 13.
     CODECHEF Doparticipate in the contests organized by Codechef every month specially Lunchtime. Take reference from the tutorials and then start coding. This will help you to learn a lot. Look at the top graded codes for better implementation.
  • 14.
     CODEFORCES Thissite is for intermediate coders. They host 10 short contests of 2–3 hours duration.
  • 15.
     TOPCODER Usethis website once you can write code fast and have a proper experience.
  • 16.
     Get yourhands dirty in the coding. Keep practicing, practicing, and practicing.
  • 17.
    Some of thetopics that you should master  BITS  Bits manipulation  Bit Twiddling
  • 18.
     Binary Search Left Binary Search  Right Binary Search  Arrays and Searching using Binary Search  Graphs
  • 19.
     BFS (Breadth-FirstSearch)/ Transversal BFS  DFS (Depth-First Search)/ Transversal DFS  Greedy algorithms  It is one of the most intuitive algorithms
  • 20.
     They aregenerally used in optimization problems  Dynamic Programming  Try to solve all the problems available in this document
  • 21.
     Programming isall about patience. Keep trying every day, every week till you start getting the right approach, don’t quit. You will improve day by day, just keep your growth consistent.
  • 22.
    THANK YOU FOR MOREDETAILS VISIT US @ www.tutort.net