{"id":15028813,"url":"https://github.com/matthewsamuel95/acm-icpc-algorithms","last_synced_at":"2025-05-14T20:03:20.042Z","repository":{"id":39615767,"uuid":"107818213","full_name":"matthewsamuel95/ACM-ICPC-Algorithms","owner":"matthewsamuel95","description":"Algorithms used in Competitive Programming","archived":false,"fork":false,"pushed_at":"2022-07-04T07:38:09.000Z","size":2460,"stargazers_count":2172,"open_issues_count":52,"forks_count":1273,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-04-06T11:04:54.367Z","etag":null,"topics":["acm","acm-icpc","acm-icpc-handbook","algorithm","algorithm-competitions","algorithms","icpc","programming"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matthewsamuel95.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-21T21:46:48.000Z","updated_at":"2025-04-04T00:24:55.000Z","dependencies_parsed_at":"2022-07-13T10:30:38.304Z","dependency_job_id":null,"html_url":"https://github.com/matthewsamuel95/ACM-ICPC-Algorithms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewsamuel95%2FACM-ICPC-Algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewsamuel95%2FACM-ICPC-Algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewsamuel95%2FACM-ICPC-Algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewsamuel95%2FACM-ICPC-Algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewsamuel95","download_url":"https://codeload.github.com/matthewsamuel95/ACM-ICPC-Algorithms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248724585,"owners_count":21151560,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acm","acm-icpc","acm-icpc-handbook","algorithm","algorithm-competitions","algorithms","icpc","programming"],"created_at":"2024-09-24T20:09:07.274Z","updated_at":"2025-04-13T14:00:26.661Z","avatar_url":"https://github.com/matthewsamuel95.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ACM-ICPC Algorithms\n\n### Introduction to ACM-ICPC\nACM International Collegiate Programming Contest (abbreviated as ACM-ICPC or ICPC) is an annual multi-tiered competitive programming competition among the universities of the world.\n\nAlternately, 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.\n- Teams of three, representing their university, work to solve real-world problems, fostering collaboration, creativity, innovation, and the ability to perform under pressure.\n- Through training and competition, teams challenge each other to raise the bar on what could be done.\n- Quite simply, it is the oldest, largest, and most prestigious programming contest in the world.\n\n### Purpose of ACM-ICPC Algorithms\nACM-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:\n-  C\n-  C++\n-  Java\n-  Python (2 \u0026 3)\n-  Kotlin\n##### For more information, visit: **Official Website of [ICPC](https://icpc.baylor.edu/)**\n\n#### If you wish to contribute, please refer to [the contributor guidelines](https://github.com/matthewsamuel95/ACM-ICPC-Algorithms/blob/master/CONTRIBUTING.md).\n\n**Table of Contents :**\n\n* [Breadth First Search](/BFS)\n* [Branch And Bound](/Branch%20and%20Bound)\n  * [0/1 Knapsack](/Branch%20and%20Bound/0_1%20Knapsack)\n* [Binary Search Tree](/BST)\n* [Backtracking](/BackTracking)\n   * [Hamilton Path](/BackTracking/Hamilton%20Path)\n   * [Knights Tour](/BackTracking/KnightsTour)\n   * [NQueens](/BackTracking/NQueens)\n   * [Rat In A Maze](/BackTracking/RatInAMaze)\n   * [Sudoku Algorithm](/BackTracking/SudokuAlgorithm)\n* [Depth First Search](/DFS)\n* [Bit Manipulation](/BitManipulation)\n   * [Checking Power of 2](/BitManipulation/Checking_power_of_2)\n   * [Nth Magic No](/BitManipulation/Nth_magic_number)\n   * [Set kth Bit](/BitManipulation/Set_kth_bit)\n   * [Sparse Number](/BitManipulation/Sparse_number)\n   * [Count Ones](/BitManipulation/count_ones)\n   * [Divide Integers](/BitManipulation/divide_integers)\n   * [Even Odd](/BitManipulation/even_odd)\n   * [Print Subsets](/BitManipulation/print_subsets)\n   * [Reverse Bits](/BitManipulation/reverse_bits)\n   * [Single Number](/BitManipulation/single_number)\n   * [Swap Bits](/BitManipulation/swap_bits)\n* [Data Structures](/Data%20Structures)\n   * [Disjoint Set](/Data%20Structures/disjointset)\n   * [Doubly Linked List](/Data%20Structures/DoublyLinkedList)\n   * [Fenwick Tree](/Data%20Structures/Fenwick_tree)\n   * [LCA](/Data%20Structures/LCA)\n   * [Linked List](/Data%20Structures/Linked%20List)\n   * [Queue](/Data%20Structures/Queue)\n   * [Queue From Stack Or Stack From Queue](/Data%20Structures/QueueFromStack_StackFromQueue)\n   * [Red Black Tree](/Data%20Structures/Red%20Black%20Tree)\n   * [Singly Linked List](/Data%20Structures/SinglyLinkedList)\n   * [Stack](/Data%20Structures/Stack)\n   * [Segment Tree](/Data%20Structures/Segment%20Tree)\n   * [Treap](/Data%20Structures/Treap)\n   * [Trie](/Data%20Structures/Trie)\n* [Dynamic Programming](/DP)\n   * [Coin Change](/DP/Coin%20Change%20Problem)\n   * [Collect Maximum Points](/DP/Collect_Max_Points)\n   * [Edit Distance](/DP/EditDistance)\n   * [Egg Dropping Puzzle](/DP/Egg%20Dropping%20Puzzle)\n   * [Fibonacci Series](/DP/Fibonacci)\n   * [Floyd Warshall Algorithm](/DP/Floyd%20Warshall%20Algorithm)\n   * [Game Of Sum](/DP/game_of_sum)\n   * [Knapsack](/DP/Knapsack)\n   * [Longest Palindrome Substring](/DP/Longest%20Palindrome%20Substring)\n   * [Longest Common Increasing Subsequence](/DP/LCIS)\n   * [Longest Common Subsequence](/DP/LongestCommonSubsequence)\n   * [Longest Increasing Subsequence](/DP/LongestIncreasingSubsequence)\n   * [Longest Repeated Subsequence](/DP/Longest%20Repeated%20Subsequence)\n   * [Matrix Chain Multiplication](/DP/MatrixChain_multiplication)\n   * [Max Sum Increasing Subsequence](/DP/Maximum%20Sum%20Increasing%20Subsequence)\n   * [Minimum Path Sum](/DP/MinimumPathSum)\n   * [Number Of Islands](/DP/NumberOfIslands)\n   * [Partition Problem](/DP/PartitionProblem)\n   * [Print Neatly](/DP/PrintNeatly)\n   * [Recursive Staircase Problem](/DP/Recursive_Staircase_Problem)\n   * [Shortest Uncommon Subsequence](/DP/ShortestUncommonSubsequence)\n   * [Subset Sum](/DP/subset%20sum%20problem)\n   * [Longest Bitonic SubSequence](/DP/LongestBitonicSubseq)\n   * [Tiling Problem](/DP/Tiling%20Problem)\n* [Graph Algorithms](/Graph)\n   * [Articulation Points](/Graph/Articulation_points)\n   * [Bellman Ford SSSP](/Graph/BellmanFordSSSP)\n   * [Bridges](/Graph/bridges)\n   * [Centroid Decomposition](/Graph/Centroid%20Decomposition)\n   * [Detect Cycle](/Graph/Detect_Cycle)\n   * [Dials Algorithm](/Graph/DialsAlgorithm)\n   * [Dijkstras SPT](/Graph/DijkstrasSPT)\n   * [Euler Path](/Graph/EulerPath)\n   * [Floyd Warshall](/Graph/FloydWarshall)\n   * [Graph Coloring](/Graph/Graph_m_Coloring)\n   * [Johnson's Algorithm](/Graph/Johnson'sAlgorithm)\n   * [Kruskal MST](/Graph/KruskalsMST)\n   * [Prims MST](/Graph/PrimsMST)\n   * [Sack](/Graph/Sack)\n   * [SPFA SSSP](/Graph/SPFA%20SSSP)\n   * [Targan SCC](/Graph/TarganSCC)\n   * [Topo Sort](/Graph/TopoSort)\n   * [Fenwick Tree](/Graph/FenwickTree)\n   * [Weighted Quick Union](/Graph/Weighted_Quick_Union)\n* [Greedy Algorithms](/Greedy)\n   * [Activity Selection](/Greedy/ActivitySelection)\n   * [Containership](/Greedy/ContainerShip)\n   * [Equalizing Bit Strings](/Greedy/EqualizingBitStrings)\n   * [Gas Station](/Greedy/Gas%20Station)\n   * [Greedy Graph Coloring](/Greedy/Greedy_Graph_Coloring)\n   * [Huffman Coding](/Greedy/Huffman%20coding)\n   * [Knapsack](/Greedy/Knapsack)\n   * [Kruskal's Minimum Spanning Tree](/Greedy/Kruskal’sMinimumSpanningTree)\n   * [Maximum Increasing Subarray](/Greedy/MaximumIncreasingSubarray)\n   * [Minimum Coins](/Greedy/MinimumCoins)\n   * [Odd Sum Subsequence](/Greedy/OddSumSubsequence)\n* [Hashing Algorithms](/Hashing)\n   * [2 Sum](/Hashing/2_Sum)\n   * [3 Sum](/Hashing/3_Sum)\n   * [4 Sum](/Hashing/4_Sum)\n* [Machine Learning](/MachineLearning)\n   * [Perceptron](/MachineLearning/Perceptron)\n* [Mathematical Algorithms](/Math)\n   * [3 Sum square complexity](/Math/3_Sum_square_complexity)\n   * [Factors Of A Given Number](/Math/All%20factors%20of%20a%20given%20Number)\n   * [Collatz Conjecture](/Math/collatz_conjecture)\n   * [Combinations](/Math/Combinations)\n   * [Bézout's Coefficients](/Math/Bézout's%20Coefficients)\n   * [Convex Hull](/Math/convexhull)\n   * [Euler's Totient Function](/Math/eulers_totient_function)\n   * [Factorization](/Math/Factorization)\n   * [Factors](/Math/factors)\n   * [Fast Exponentiation with Mod](/Math/Fast%20Exponentiation%20with%20Mod)\n   * [Floor Square Root](/Math/floor_sqrt)\n   * [Greatest Common Divisor](/Math/gcd)\n   * [Histogram Area](/Math/histogram_area)\n   * [Largest Number Divisible By Three](/Math/largest_number_divisible_by_three)\n   * [Last Digit Exp](/Math/last_digit_exp)\n   * [Logarithm](/Math/log)\n   * [Lowest Common Multiple](/Math/lowest_common_multiple)\n   * [Matrix Power](/Math/Matrix_Power)\n   * [Max Divisible Number](/Math/max_divisible_num)\n   * [Max Sub Rectangle](/Math/max_sub_rectangle)\n   * [Max Sub Square](/Math/Max_Sub_Square)\n   * [Miller Rabin Primality Test](/Math/miller_rabin_primality_test)\n   * [Modular Multiplication Inverse](/Math/modular_multiplicative_inverse)\n   * [Next Power of 2](/Math/NextPow2)\n   * [Nth Root](/Math/nthRoot)\n   * [Pascal Row](/Math/pascal_row)\n   * [Power](/Math/Power)\n   * [Prime](/Math/Prime)\n   * [Randomized Algorithms](/Math/Randomized%20algorithms)\n   * [Set](/Math/Set)\n   * [Sieve Of Eratosthenes](/Math/sieve_of_eratosthenes)\n   * [Square Root](/Math/squareroot)\n   * [Subset Sum](/Math/subset_sum)\n   * [Sum Of Digits](/Math/sum_of_digits)\n   * [Tower Of Hanoi](/Math/TowerofHanoi)\n   * [Truncated Square Root](/Math/truncated_square_root)\n   * [Calculate And Print All Permutations](/Math/AllPermutations)\n   * [Calculate the result of binom(n,p)](/Math/binomial_coefficients)\n* [Network Flow](/NetworkFlow)\n   * [Dinic](/NetworkFlow/Dinic)\n   * [Edmund Karp](/NetworkFlow/EdmundKarp)\n   * [Ford Fulkerson](/NetworkFlow/FordFulkerson)\n   * [Goldberg Tarjan](/NetworkFlow/GoldbergTarjan)\n* [Search Algorithms](/Search)\n   * [Binary Search](/Search/BinarySearch)\n   * [Fibonacci Search](/Search/FibonacciSearch)\n   * [Hashing](/Search/hashing)\n   * [Jump Search](/Search/JumpSearch)\n   * [Linear Search](/Search/LinearSearch)\n   * [Ternary Search](/Search/TernarySearch)\n   * [Interpolation Search](/Search/InterpolationSearch)\n   * [Exponential Search](/Search/ExponentialSearch)\n* [Sorting Algorithms](/Sorting)\n   * [BogoSort](/Sorting/BogoSort)\n   * [Strand sort](/Sorting/strandsort)\n   * [Bubble Sort](/Sorting/Bubble%20Sort)\n   * [Bucket Sort](/Sorting/Bucket%20Sort)\n   * [Cocktail Shaker Sort](/Sorting/Cocktail%20Shaker%20Sort)\n   * [Comb Sort](/Sorting/Comb%20Sort)\n   * [Counting Sort](/Sorting/Counting%20Sort)\n   * [HeapSort](/Sorting/HeapSort)\n   * [Index Sort](/Sorting/Index%20Sort)\n   * [Insertion Sort](/Sorting/Insertion%20Sort)\n   * [Merge Sort](/Sorting/Merge%20Sort)\n   * [Pancake Sorting](/Sorting/Pancake%20Sorting)\n   * [Patience Sorting](/Sorting/Patience%20Sorting)\n   * [QuickSort](/Sorting/QuickSort)\n   * [Radix Sort](/Sorting/Radix%20Sort)\n   * [Selection Sort](/Sorting/Selection%20Sort)\n   * [ShellSort](/Sorting/ShellSort)\n   * [TimSort](/Sorting/TimSort)\n   * [Topological Sorting](/Sorting/Topological%20Sorting)\n* [String Algorithms](/String)\n   * [Anagram](/String/Anagram)\n   * [Balanced Parenthesis](/String/Balanced%20Parentheses)\n   * [Hamming Distance](/String/Hamming%20distance)\n   * [KMP](/String/KMP)\n   * [Palindrome](/String/Palindrome)\n   * [String Automaton](/String/String%20Automaton)\n   * [String Matching](/String/String%20Matching)\n   * [Substring](/String/Substring)\n   * [Top K Frequent Words](/String/Top_K_Frequent_Words)\n   * [Top K Frequent Words In Java](/String/top_k_frequent_words_in_java)\n   * [Uncompressing Strings](/String/Uncompressing_Strings)\n   * [Parsing Arithmetic](/String/ParsingArithmetic)\n* [Geometry 2D](/Geometry%202D)\n   * [Lines Intersection](/Geometry%202D/Lines%20Intersection)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthewsamuel95%2Facm-icpc-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatthewsamuel95%2Facm-icpc-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthewsamuel95%2Facm-icpc-algorithms/lists"}