Competitive Programming 🔆🔆
Hello Programmers💻,
A onestop destination for all your Competitive Programming Resources.
📌📌 What is Competitive Programming? 📌📌
According to me, competitive programming is a sport. A sport based on problemsolving skills, thinking ability, speed testing, regularity and to be precise. Competitive Programming will help you build logic and implement that logic to find solutions to a realworld problem. Brainstorming upon your code will increase your coding skills as well as it will help to expand your thinking capacity. Thus practicing Competitive Programming on day to day basis helps you in mastering that particular language. And believe us, if you are playing this sport regularly, you are already prepared for the technical rounds of the Interviews. So now let's dive into the ocean of Competitive Programming.
Platform to practice Competitive Programming 🔭🔭
BENEFITS OF COMPETITIVE PROGRAMMING
The skills needed for competitive programming have longlasting benefits to your career as a developer. There are numerous benefits to participating in competitive programming, including:
Getting hired: Participating in competitive programming can make you a desirable candidate for companies. When you participate in large competitions like the ACM International Collegiate Programming Contest, you have a good chance of being on the radar of companies like Apple, Facebook, IBM, Google, and more. Tech companies track competitions and events to find potential employees. Large competitive programming events are extremely prestigious and difficult to succeed in, so if you do well, that is an indicator of your technical talent and abilities. That’s why many companies have sponsored programming competitions.
Teamwork skills: When you participate in these competitions, you will often work in teams, meaning that you learn how to interact with teammates during highpressure moments. This is an incredibly important skill. When you are working as a software engineer, you will almost always work with other individuals, meaning that companies care a lot about your communication and team skills. Also, most teams will have a leader. If you are the leader of the team, this demonstrates management skills, making you even more of a desirable candidate. Companies want to know that you can work effectively and comfortably with your teammates.
Interview prep: When you are trying to get an engineering job, companies will test you for your knowledge of data structures and algorithms. When you participate in competitive programming, you work to develop an advanced understanding of these concepts. Furthermore, the environment for the coding interview and competitive programming is quite similar. They are both highpressure environments, in which you have to engage in problemsolving. While many others may not be able to adjust to this environment, your competition experience gives you an advantage.
Most Famous Programming Contests 👑 👑
Upcomming contests schedule  https://clist.by/
Books 🔆🔆
Algorithms 🔆🔆
Code Visualisation 🔆🔆
Learning Resources (Topic Wise) 🏁🏁🏁
Big O Notations

CS Dojo  Introduction to Big O Notation and Time Complexity

Simple Snippets  Asymptotic Analysis of Algorithms with Example

BigO CheatSheet https://www.bigocheatsheet.com/
STL in C++
Binary Search
Problems
 Allocate Minimum No of pages(GFG)
 Aggressive Cows(SPOJ)
 Prata(SPOJ)
 Painters Partion(GFG)
 EKO(SPOJ)
 Square Root using BS (GFG)
 Floor And Ceil in a Sorted Array(GFG)
 First And Last occurence of an element(GFG)
 Count of element in a sorted array(GFG)
 Search in a rotated Sorted Array(leetcode)
 Logs(Atcoder)
 Search in A 2D Matrix (Leetcode)
 First bad version(Leetcode)
 Heaters(Leetcode)
Number Theory (Mathematics)
Recursion and BackTracking
Bit Manipulations
Graph Theory
Dynamic Programing
Coding Platforms
Important Data Structures:
Searching
 Linear Search
 Binary Search
 Ternary Search
Sorting
 Selection Sort
 Bubble Sort
 Insertion Sort
 Merge Sort
 Quick Sort
 Heap Sort
 Radix Sort
 Count Sort
 bucket sort
Mathematics:
Playlists
Number Theory
 Prime Number Generation (Sieve, Segmented Sieve)
 Euler Totient Theorem
 Fermat’s Theorem
 HCF & LCM (Euclid)
 Extended Euclid Algorithm
 Fibonacci
 Chinese Remainder Theorem
 Linear Diophantine Equations (Extended Euclid)
 Binary Exponentiation
 Modulus Arithmetic (addition,multiplication,subtraction,modular Inverse)
Probability
 Basic Probability and Conditional Probability
 Random Variables
 Probability Generating Functions
 Expectation
 Probability Distribution [Binomial, Poisson, Normal,Bernoulli]
Linear Algebra
 Multiplication ( Strassen's algorithm ), Logarithmic exponentiation
 Matrix Transformations [ Transpose, Rotation Of Matrix, Representing Linear Transformations Using Matrix ]
 Determinant, Rank and Inverse Of Matrix [ Gaussian Elimination, Gauss Jordan Elimination]
 Solving System Of Linear Equations
 Matrix Exponentiation To Solve Recurrences
Game Theory  Video
Greedy
Problems
 BUSY MAN(SPOJ)
 BIASED STANDINGS(SPOJ)
 life(SPOJ)
 Defense of a kingdom (SPOJ)
 Chopsticks(Codechef)
 EXPEDI(SPOJ)
 Fractional Knapsack(GFG)
 DIE HARD(SPOJ)
 GREGOVIA(SPOJ)
 SOLDIER(SPOJ)
 CHOCOLA(SPOJ)
 CMIYC(SPOJ)
 Station Balance(UVA)
 Huffman CodIng(GFG)
 Maximun Unique Segments(Codechef)
 Egyptian Fraction(GFG)
 Job Sequencing(GFG)
 Maximum Circles(HackerBlocks)
 Codeforces Subsequences(Codeforces)
 Good Strings(Codeforces)
 Palindromic Paths(Codeforces)
 Gas Pipeline(Codeforces)
Graphs:
Playlists
Graph Representation
 Adjacency Matrix
 Adjacency List
Graph Types
 Directed
 Undirected
 Weighted
 Unweighted
 Euler
Graph Concepts
 DFS
 BFS
 Strongly Connected Component
 Connected Component
 Cycle Detection
 Articulation Points
 Bridges
 Topological Sorting
 Bipartite Checking
 Floodfill algorithm
Graph/Tree Algorithms
 Prim’s Algorithm
 Kruskal Algorithm
 Dijkstra
 BellmanFord
 Floyd Warshall’s Algorithm
 Euler Tour
Dynamic Programming
Playlists
Classical Problems
 Fibonacci Series
 Longest Common Substring
 Longest Increasing Subsequence
 Longest Palindromic Substring
 Edit Distance
 Egg Dropping Puzzle
 01 Knapsack
 Unbounded Knapsack
 Subset Sum
 Coin Change Combinations
 Coin Change Permutation
 Longest Common Subsequence
 Longest Substring Without Repeating Character
 Matrix Chain Multiplication
 Max Size Square Submatrix With One
 Maximum Length Chain
 Catalan Number And its Applications
Doubts and queries
Thank you for Contributing 🙏 💫