In competitive programming, programmers compete against one another to solve programming problems in a limited period of time. These events are typically broadcast over the Internet or a local network. Sport programmers are the people who compete in the competitions.
Contestants answer logical or mathematical programming questions in their preferred coding language. Depending on the contest, the amount of questions may vary. The number of questions answered, the time spent answering issues, and other criteria such as execution time, programme size, and so on are used to evaluate the outcomes.
Advantages of Competitive Programming
Participating in programming contests has several advantages, especially if programming is your profession.
1. Prizes-Prizes are awarded in the majority of competitive programming contests. These awards might include cash, software, hardware, free services, and other items. Some sports programmers have even made a career out of competing in coding competitions.
2. Technical interview preparation- Many digital organisations, such as Facebook, Google, and Amazon, employ the same types of questions in technical interviews as you'll find in coding competitions. While you may be comfortable with how to create code, you may be unfamiliar with the methods and data structures required to address these sorts of challenges. Participating in programming competitions will provide you with the practise and confidence you need to go through one of these intense interviews.
3. Problem-solving and programming abilities are required-Entering programming contests is perhaps the best approach to develop your problem-solving and programming abilities. During the competition, you will be given challenging questions to complete in a limited amount of time. Many of these issues are ones you have never encountered before. Solving them will strengthen your analytical thinking abilities and educate you more about the programming language with which you will compete. And these are talents you may apply in your future profession.
Complete syllabus for competative programming
1. Prefix Sum
2. Sliding Window Technique
3. Binary search
4. GCD of two numbers in LogN
5. Sieve of Eratosthenes, Segmented Sieve
6. Modular arithmetic
7. Bit Manipulation
8. Greedy Algorithms
9. Two Pointers
10. Kadane's Algorithm
11. Meet in the Middle Algorithm
12. Recursion
13. Divide and Conquer
14. Next Greater/Smaller Element using Stack
15. Problems related to Parenthesis
16. Backtracking
17. Problems related to Constructive Algorithms
18. Problems related to Heap
19. Inclusion-Exclusion Principle
20. Finding nCr and nPr for Queries
21. Rabin Karp Algorithm
22. Prefix Function
23. KMP Algorithm
24. Z-Function
25. Manacher's Algorithm
26. DFS/BFS Traversal in Graph/Tree
27. Diameter of Tree
28. Euler Tour of Tree
29. Finding LCA using Euler Tour
30. Finding LCA using Binary Lifting
31. Distance between two nodes
32. Subtree Problems
33. Connected Components, Topological Sort, Cycle Detection, Bipartite Check-in Graph
34. Dijkstra's Algorithm
35. Bellman-Ford Algorithm
36. Floyd Warshall Algorithm
37. Bridges in Graph
38. Prim's Algorithm
39.0/1 BFS
40. Dynamic Programming, DP with Bitmask, DP on trees
41. Disjoint Set
42. Kruskal's Algorithm
43. Fenwick Trees, Binary Lifting on Fenwick Tree
44. Matrix Exponentiation
45. Sqrt Exponentiation
46. Segment Trees
47. Lazy Propagation on Segment Trees
48. Sprague/Grundy Theorem
49. Heavy Light Decomposition
50. FFT/NTT
Credit- Nikhil bhatia (post)
Related article --
- Hacktoberfest - The Best Way to Start Your Open Source Journey | Contribute and Win Swag!
- What is season of KDE and how to participate in it ??
- What is GSOC and How to participate in it ??
- Major League Hacking Fellowship (MLH fellowship) -- GUIDE
- What is Summer of bitcoin and how to participate in it ?
- What is GirlScript Summer of Code(GSSOC) and How to Participate?