Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/matthewsamuel95/ACM-ICPC-Algorithms

Algorithms used in Competitive Programming
https://github.com/matthewsamuel95/ACM-ICPC-Algorithms

acm acm-icpc acm-icpc-handbook algorithm algorithm-competitions algorithms icpc programming

Last synced: about 1 month ago
JSON representation

Algorithms used in Competitive Programming

Lists

README

        

# ACM-ICPC Algorithms

### Introduction to ACM-ICPC
ACM International Collegiate Programming Contest (abbreviated as ACM-ICPC or ICPC) is an annual multi-tiered competitive programming competition among the universities of the world.

Alternately, we can say that the [International Collegiate Programming Contest](https://en.wikipedia.org/wiki/ACM_International_Collegiate_Programming_Contest) is an algorithmic programming contest for college students.
- Teams of three, representing their university, work to solve real-world problems, fostering collaboration, creativity, innovation, and the ability to perform under pressure.
- Through training and competition, teams challenge each other to raise the bar on what could be done.
- Quite simply, it is the oldest, largest, and most prestigious programming contest in the world.

### Purpose of ACM-ICPC Algorithms
ACM-ICPC Algorithms is a collection of important algorithms and data structures used to solve questions in this worldwide olympiad. It aims to provide solutions in various languages as per [ICPC 2018 WF](https://icpc.baylor.edu/worldfinals/programming-environment), including:
- C
- C++
- Java
- Python (2 & 3)
- Kotlin
##### For more information, visit: **Official Website of [ICPC](https://icpc.baylor.edu/)**

#### If you wish to contribute, please refer to [the contributor guidelines](https://github.com/matthewsamuel95/ACM-ICPC-Algorithms/blob/master/CONTRIBUTING.md).

**Table of Contents :**

* [Breadth First Search](/BFS)
* [Branch And Bound](/Branch%20and%20Bound)
* [0/1 Knapsack](/Branch%20and%20Bound/0_1%20Knapsack)
* [Binary Search Tree](/BST)
* [Backtracking](/BackTracking)
* [Hamilton Path](/BackTracking/Hamilton%20Path)
* [Knights Tour](/BackTracking/KnightsTour)
* [NQueens](/BackTracking/NQueens)
* [Rat In A Maze](/BackTracking/RatInAMaze)
* [Sudoku Algorithm](/BackTracking/SudokuAlgorithm)
* [Depth First Search](/DFS)
* [Bit Manipulation](/BitManipulation)
* [Checking Power of 2](/BitManipulation/Checking_power_of_2)
* [Nth Magic No](/BitManipulation/Nth_magic_number)
* [Set kth Bit](/BitManipulation/Set_kth_bit)
* [Sparse Number](/BitManipulation/Sparse_number)
* [Count Ones](/BitManipulation/count_ones)
* [Divide Integers](/BitManipulation/divide_integers)
* [Even Odd](/BitManipulation/even_odd)
* [Print Subsets](/BitManipulation/print_subsets)
* [Reverse Bits](/BitManipulation/reverse_bits)
* [Single Number](/BitManipulation/single_number)
* [Swap Bits](/BitManipulation/swap_bits)
* [Data Structures](/Data%20Structures)
* [Disjoint Set](/Data%20Structures/disjointset)
* [Doubly Linked List](/Data%20Structures/DoublyLinkedList)
* [Fenwick Tree](/Data%20Structures/Fenwick_tree)
* [LCA](/Data%20Structures/LCA)
* [Linked List](/Data%20Structures/Linked%20List)
* [Queue](/Data%20Structures/Queue)
* [Queue From Stack Or Stack From Queue](/Data%20Structures/QueueFromStack_StackFromQueue)
* [Red Black Tree](/Data%20Structures/Red%20Black%20Tree)
* [Singly Linked List](/Data%20Structures/SinglyLinkedList)
* [Stack](/Data%20Structures/Stack)
* [Segment Tree](/Data%20Structures/Segment%20Tree)
* [Treap](/Data%20Structures/Treap)
* [Trie](/Data%20Structures/Trie)
* [Dynamic Programming](/DP)
* [Coin Change](/DP/Coin%20Change%20Problem)
* [Collect Maximum Points](/DP/Collect_Max_Points)
* [Edit Distance](/DP/EditDistance)
* [Egg Dropping Puzzle](/DP/Egg%20Dropping%20Puzzle)
* [Fibonacci Series](/DP/Fibonacci)
* [Floyd Warshall Algorithm](/DP/Floyd%20Warshall%20Algorithm)
* [Game Of Sum](/DP/game_of_sum)
* [Knapsack](/DP/Knapsack)
* [Longest Palindrome Substring](/DP/Longest%20Palindrome%20Substring)
* [Longest Common Increasing Subsequence](/DP/LCIS)
* [Longest Common Subsequence](/DP/LongestCommonSubsequence)
* [Longest Increasing Subsequence](/DP/LongestIncreasingSubsequence)
* [Longest Repeated Subsequence](/DP/Longest%20Repeated%20Subsequence)
* [Matrix Chain Multiplication](/DP/MatrixChain_multiplication)
* [Max Sum Increasing Subsequence](/DP/Maximum%20Sum%20Increasing%20Subsequence)
* [Minimum Path Sum](/DP/MinimumPathSum)
* [Number Of Islands](/DP/NumberOfIslands)
* [Partition Problem](/DP/PartitionProblem)
* [Print Neatly](/DP/PrintNeatly)
* [Recursive Staircase Problem](/DP/Recursive_Staircase_Problem)
* [Shortest Uncommon Subsequence](/DP/ShortestUncommonSubsequence)
* [Subset Sum](/DP/subset%20sum%20problem)
* [Longest Bitonic SubSequence](/DP/LongestBitonicSubseq)
* [Tiling Problem](/DP/Tiling%20Problem)
* [Graph Algorithms](/Graph)
* [Articulation Points](/Graph/Articulation_points)
* [Bellman Ford SSSP](/Graph/BellmanFordSSSP)
* [Bridges](/Graph/bridges)
* [Centroid Decomposition](/Graph/Centroid%20Decomposition)
* [Detect Cycle](/Graph/Detect_Cycle)
* [Dials Algorithm](/Graph/DialsAlgorithm)
* [Dijkstras SPT](/Graph/DijkstrasSPT)
* [Euler Path](/Graph/EulerPath)
* [Floyd Warshall](/Graph/FloydWarshall)
* [Graph Coloring](/Graph/Graph_m_Coloring)
* [Johnson's Algorithm](/Graph/Johnson'sAlgorithm)
* [Kruskal MST](/Graph/KruskalsMST)
* [Prims MST](/Graph/PrimsMST)
* [Sack](/Graph/Sack)
* [SPFA SSSP](/Graph/SPFA%20SSSP)
* [Targan SCC](/Graph/TarganSCC)
* [Topo Sort](/Graph/TopoSort)
* [Fenwick Tree](/Graph/FenwickTree)
* [Weighted Quick Union](/Graph/Weighted_Quick_Union)
* [Greedy Algorithms](/Greedy)
* [Activity Selection](/Greedy/ActivitySelection)
* [Containership](/Greedy/ContainerShip)
* [Equalizing Bit Strings](/Greedy/EqualizingBitStrings)
* [Gas Station](/Greedy/Gas%20Station)
* [Greedy Graph Coloring](/Greedy/Greedy_Graph_Coloring)
* [Huffman Coding](/Greedy/Huffman%20coding)
* [Knapsack](/Greedy/Knapsack)
* [Kruskal's Minimum Spanning Tree](/Greedy/Kruskal’sMinimumSpanningTree)
* [Maximum Increasing Subarray](/Greedy/MaximumIncreasingSubarray)
* [Minimum Coins](/Greedy/MinimumCoins)
* [Odd Sum Subsequence](/Greedy/OddSumSubsequence)
* [Hashing Algorithms](/Hashing)
* [2 Sum](/Hashing/2_Sum)
* [3 Sum](/Hashing/3_Sum)
* [4 Sum](/Hashing/4_Sum)
* [Machine Learning](/MachineLearning)
* [Perceptron](/MachineLearning/Perceptron)
* [Mathematical Algorithms](/Math)
* [3 Sum square complexity](/Math/3_Sum_square_complexity)
* [Factors Of A Given Number](/Math/All%20factors%20of%20a%20given%20Number)
* [Collatz Conjecture](/Math/collatz_conjecture)
* [Combinations](/Math/Combinations)
* [Bézout's Coefficients](/Math/Bézout's%20Coefficients)
* [Convex Hull](/Math/convexhull)
* [Euler's Totient Function](/Math/eulers_totient_function)
* [Factorization](/Math/Factorization)
* [Factors](/Math/factors)
* [Fast Exponentiation with Mod](/Math/Fast%20Exponentiation%20with%20Mod)
* [Floor Square Root](/Math/floor_sqrt)
* [Greatest Common Divisor](/Math/gcd)
* [Histogram Area](/Math/histogram_area)
* [Largest Number Divisible By Three](/Math/largest_number_divisible_by_three)
* [Last Digit Exp](/Math/last_digit_exp)
* [Logarithm](/Math/log)
* [Lowest Common Multiple](/Math/lowest_common_multiple)
* [Matrix Power](/Math/Matrix_Power)
* [Max Divisible Number](/Math/max_divisible_num)
* [Max Sub Rectangle](/Math/max_sub_rectangle)
* [Max Sub Square](/Math/Max_Sub_Square)
* [Miller Rabin Primality Test](/Math/miller_rabin_primality_test)
* [Modular Multiplication Inverse](/Math/modular_multiplicative_inverse)
* [Next Power of 2](/Math/NextPow2)
* [Nth Root](/Math/nthRoot)
* [Pascal Row](/Math/pascal_row)
* [Power](/Math/Power)
* [Prime](/Math/Prime)
* [Randomized Algorithms](/Math/Randomized%20algorithms)
* [Set](/Math/Set)
* [Sieve Of Eratosthenes](/Math/sieve_of_eratosthenes)
* [Square Root](/Math/squareroot)
* [Subset Sum](/Math/subset_sum)
* [Sum Of Digits](/Math/sum_of_digits)
* [Tower Of Hanoi](/Math/TowerofHanoi)
* [Truncated Square Root](/Math/truncated_square_root)
* [Calculate And Print All Permutations](/Math/AllPermutations)
* [Calculate the result of binom(n,p)](/Math/binomial_coefficients)
* [Network Flow](/NetworkFlow)
* [Dinic](/NetworkFlow/Dinic)
* [Edmund Karp](/NetworkFlow/EdmundKarp)
* [Ford Fulkerson](/NetworkFlow/FordFulkerson)
* [Goldberg Tarjan](/NetworkFlow/GoldbergTarjan)
* [Search Algorithms](/Search)
* [Binary Search](/Search/BinarySearch)
* [Fibonacci Search](/Search/FibonacciSearch)
* [Hashing](/Search/hashing)
* [Jump Search](/Search/JumpSearch)
* [Linear Search](/Search/LinearSearch)
* [Ternary Search](/Search/TernarySearch)
* [Interpolation Search](/Search/InterpolationSearch)
* [Exponential Search](/Search/ExponentialSearch)
* [Sorting Algorithms](/Sorting)
* [BogoSort](/Sorting/BogoSort)
* [Strand sort](/Sorting/strandsort)
* [Bubble Sort](/Sorting/Bubble%20Sort)
* [Bucket Sort](/Sorting/Bucket%20Sort)
* [Cocktail Shaker Sort](/Sorting/Cocktail%20Shaker%20Sort)
* [Comb Sort](/Sorting/Comb%20Sort)
* [Counting Sort](/Sorting/Counting%20Sort)
* [HeapSort](/Sorting/HeapSort)
* [Index Sort](/Sorting/Index%20Sort)
* [Insertion Sort](/Sorting/Insertion%20Sort)
* [Merge Sort](/Sorting/Merge%20Sort)
* [Pancake Sorting](/Sorting/Pancake%20Sorting)
* [Patience Sorting](/Sorting/Patience%20Sorting)
* [QuickSort](/Sorting/QuickSort)
* [Radix Sort](/Sorting/Radix%20Sort)
* [Selection Sort](/Sorting/Selection%20Sort)
* [ShellSort](/Sorting/ShellSort)
* [TimSort](/Sorting/TimSort)
* [Topological Sorting](/Sorting/Topological%20Sorting)
* [String Algorithms](/String)
* [Anagram](/String/Anagram)
* [Balanced Parenthesis](/String/Balanced%20Parentheses)
* [Hamming Distance](/String/Hamming%20distance)
* [KMP](/String/KMP)
* [Palindrome](/String/Palindrome)
* [String Automaton](/String/String%20Automaton)
* [String Matching](/String/String%20Matching)
* [Substring](/String/Substring)
* [Top K Frequent Words](/String/Top_K_Frequent_Words)
* [Top K Frequent Words In Java](/String/top_k_frequent_words_in_java)
* [Uncompressing Strings](/String/Uncompressing_Strings)
* [Parsing Arithmetic](/String/ParsingArithmetic)
* [Geometry 2D](/Geometry%202D)
* [Lines Intersection](/Geometry%202D/Lines%20Intersection)