Skip to content

Hello Programmers ๐Ÿ’ป , A one-stop Destination for all your Competitive Programming Resources. Refer CONTRIBUTING.md for contributions

Notifications You must be signed in to change notification settings

Riddhima23/competitive-programming

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Competitive Programming ๐Ÿ”†๐Ÿ”†

Hello Programmers๐Ÿ’ป, A one stop Destination for all your Competitive Programming Resources.

๐Ÿ“Œ๐Ÿ“Œ What is Competitive Programming? ๐Ÿ“Œ๐Ÿ“Œ

According to us, competitive programming is a sport. A sport based on problem-solving 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 real-world problem. Brainstorming upon your code will definitely increase your coding skills as well as it will help to expand your thinking capacity. Thus practising 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 in the ocean of Competitive Programming.

Platform to practice Competitive Programming ๐Ÿ”ญ๐Ÿ”ญ

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
  • Big-O 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


Greedy

Problems

  • BUSYMAN(SPOJ)
  • BIASED STANDINGS(SPOJ)
  • BAlife(SPOJ)
  • Defense of a kingdom (SPOJ)
  • Chopsticks(Codechef)
  • EXPEDI(SPOJ)
  • Fractional Knaspsack(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
  • Flood-fill algorithm

Graph/Tree Algorithms

  • Primโ€™s Algorithm
  • Kruskal Algorithm
  • Dijkstra
  • Bellman Ford
  • 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
  • 0-1 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 Apllications

Doubts and queries

About

Hello Programmers ๐Ÿ’ป , A one-stop Destination for all your Competitive Programming Resources. Refer CONTRIBUTING.md for contributions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.4%
  • Python 4.6%
  • C 2.9%
  • Java 0.1%