• Stars
    star
    647
  • Rank 69,579 (Top 2 %)
  • Language
    C++
  • Created over 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A one-stop Destinationโœ๏ธ for all your Competitive Programming Resources.๐Ÿ“—๐Ÿ“• Refer CONTRIBUTING.md for contributions

Banner

Competitive Programming ๐Ÿ”†๐Ÿ”†

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

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

According to me, 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 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 long-lasting 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 high-pressure 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 high-pressure environments, in which you have to engage in problem-solving. 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
  • 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 occurrence 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
  • Jump Search
  • Interpolation Search
  • Exponential 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
  • Flood-fill algorithm

Graph/Tree Algorithms

  • Primโ€™s Algorithm
  • Kruskal Algorithm
  • Dijkstra
  • Bellman-Ford
  • Floyd Warshallโ€™s Algorithm
  • Euler Tour
  • Lowest Common Ancestor using Binary Lifting
  • Kruskal's Minimum Spanning Tree Algorithm

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 Applications
  • Snake and Ladder Problem
  • Word Break Problem
  • Nโ€“Queens Problem

Doubts and queries

Thank you for Contributing ๐Ÿ™ ๐Ÿ’ซ

105

More Repositories

1

SyntaxMeets

Syntaxmeets. Create rooms ๐Ÿ  Call your friends ๐Ÿ‘ฌ๐Ÿผ Sip Chai, โ˜• Chat, Create, and Code๐Ÿ‘จโ€๐Ÿ’ป. A coding platform to code simultaneously ๐Ÿš€ with your friends and design your algorithms on SyntaxPad.๐Ÿ’ซโœจ
JavaScript
167
star
2

30-days-of-Dynamic-Programming

Sharing my 30 days long journey ๐Ÿ’œ of Dynamic Programming ๐Ÿ’ซ ๐Ÿ”ฅ . This would not be possible without Aditya Verma's DP series ๐Ÿ™ ๐Ÿ‘‡ ๐Ÿ‘‡
C++
113
star
3

BhimIntegers

BhimIntegers๐Ÿš€ is a C++ library that is useful when we are dealing with BigIntegers๐Ÿ’ฅ๐Ÿ’ฅ. We can handle big integers (integers having a size bigger than the long long int data type) and we can perform arithmetic operations๐Ÿ“˜ like addition, multiplication, subtraction, division, equality check, etc๐Ÿ“๐Ÿ“. Also, there are several functions like factorial, reverse. We can check that a number is a palindromic number, counting occurrences, etc๐Ÿ”Ž๐Ÿ”Ž. It has some conversion options to convert a string to bhimInteger etc ๐Ÿ“๐Ÿ“.
C++
49
star
4

Aawazein

A News Application ๐Ÿ—ž๏ธ built under 24 hours โฐ. It is built ๐Ÿšง with React Native โš›๏ธ. ๐Ÿš€ and 3 cups of Chai โ˜•
JavaScript
29
star
5

use-media-stream

React hook that simplifies the integration and management ๐Ÿ—๏ธ of media streams with extensive control over devices, streaming status, and event handling. ๐Ÿ“น
TypeScript
16
star
6

QuoteWithMe-React

A quote maker App โœ’๏ธ๐Ÿ“, entirely built on React โš›๏ธ You can create your quote. You can change the color ๐ŸŽจ of the background as well as the text color. Also, through the random-quote API ๐Ÿ‘จโ€๐Ÿ’ป, you can generate random quotes. And finally ๐Ÿš€, once done, you can download the file in png format ๐ŸŒ 
JavaScript
15
star
7

kothariji

14
star
8

Online-Tea-Store---MERN

I have created a website for all Tea Lovers to buy different varieties of tea. Its entirely built on MERN STACK
JavaScript
12
star
9

data-sructures-algorithms

Few important Data Structures and Algorithms
C++
10
star
10

30-days-of-code-LinkedIn

A 30 days of code challenge to Improve. To learn new skills, tips, tricks, functions and share it with the community out there
C++
9
star
11

awesome-life

Discover a curated collection of resources and links to enhance every facet of your life in the Awesome Life repository. Elevate your personal development, well-being, productivity, and more, with this handpicked selection of tools and insights.
9
star
12

Edit-Distance-Levenshtein-Algorithm

To find the minimum number of operations required to convert string1 to string2.
HTML
8
star
13

restaurant-self-ordering-system

This program allows a customer๐Ÿง to pre-order food ๐Ÿ•๐Ÿ• from the menu๐Ÿ“ƒ provided by the restaurant ๐Ÿฉ while staying at home ๐Ÿก. Later on, the customer can show the pre-order ๐Ÿ“ƒ generated bill to the owner of the restaurant and can confirm his/her booking โœ…โœ…
C++
8
star
14

tictactoe

A simple tic-tac-toe game developed in C++
C++
7
star
15

magic-cards

A cool magic trick game which guess the number you thought in your mind
Python
7
star
16

portfolio

HTML
7
star
17

Super-30-GIT-workshop

JavaScript
2
star