matthewsamuel95

ACM-ICPC-Algorithms: Competitive Programming Algorithms

A C++-focused collection of algorithms and data structures for ACM-ICPC and other competitive programming contests. Browse implementations across areas including graphs, dynamic programming, sorting, math, and data structures.

Stars
2.3k
Forks
1.3k
Stars, last 15 days
+9
Last commit
4.3 years ago
Contributors
100+

Our take

Inactiveno commits in over a year

Health score

34/100

How it is scored
Activity
20
Community
75
Issues
21
Pull requests
21

+9 stars in the last 15 days

  • More contributors than 77% of the projects we track

This is a broad, browsable contest reference, but its long period without maintenance makes it better suited to study than to adopting code without verification.

Good fit if

  • You want a topic-indexed collection of competitive programming implementations, especially in C++.
  • You are studying standard algorithms and can check an implementation against the problem constraints yourself.
  • You value breadth across algorithm topics and do not need active maintenance.

Look elsewhere if

  • You need a maintained library with recent changes or releases, since the project has had no commits in over a year and no recent releases.
  • You need confidence that reported bugs and pull requests are being handled, since there has been no recent issue closure or PR merging.
  • You require a clearly stated license for reuse, as the provided repository information does not identify one.
All health signals
Last commit2022-07-04 (4.3 years ago)
Commits, last 90 days0
Releases, last 12 months0
Contributors100+ (top contributor: 59% of commits)
Issues closed, last 90 days0
Pull requests merged, last 90 days0
Project age9 years

Checked on 2026-10-22 with the GitHub API.

Overview

ACM-ICPC-Algorithms is a collection of algorithms and data structures for solving competitive programming problems, with C++ as its primary language. It is aimed at students and contest participants who want to browse implementations by topic and use them as study references or starting points for contest preparation.

The repository covers a wide range of topics, from graph algorithms and dynamic programming to sorting, strings, and mathematical techniques. Its README also describes an aim to provide solutions in C, Java, Python, and Kotlin, but the repository's reported primary language is C++.

Key Features

  • Topic-based collection spanning graphs, dynamic programming, greedy methods, mathematics, and more.
  • Implementations of common graph techniques, including shortest paths, minimum spanning trees, and network flow.
  • Data structure examples such as segment trees, Fenwick trees, tries, and disjoint sets.
  • Backtracking examples for problems such as N-Queens, Sudoku, and Hamilton paths.
  • Searching, sorting, hashing, and string algorithm examples.
  • Contest-oriented mathematical algorithms, including primality testing, modular arithmetic, and combinatorics.
  • README table of contents links directly to algorithm categories and individual examples.

Use Cases

  • ICPC or university contest teams looking for examples while learning a particular algorithm.
  • Students comparing approaches to standard problems across algorithmic topics.
  • Competitive programmers assembling a personal reference before a contest.
  • Instructors or study groups selecting example implementations to discuss, with independent review before use.

What you need

Detected in the repository

  • C++ (main language on GitHub)

Getting Started

Browse the README and follow its table of contents to the topic or implementation you need. The README links to contributor guidelines for those who want to contribute.

License in Plain Words

No standard license was detected. Without a license, the default copyright rules apply: you may read the code, but not reuse it. Check the repository or ask the authors.

Alternatives

  • CompetitiveCode: CompetitiveCode organizes platform-specific problems and commented solutions, while ACM-ICPC-Algorithms focuses on reusable algorithm and data-structure implementations.
ProjectLanguageLicenseStarsStatus
ACM-ICPC-AlgorithmsC++–2.3kInactive
CompetitiveCodeC++MIT174Inactive

Considerations

The repository is marked inactive: it has had no commits in over a year and no releases in the last year. It has more than 100 contributors, and the available health data does not indicate that work is concentrated among a small group. There has been no recent issue closure or PR merging, so do not assume examples reflect current best practices or have been recently reviewed. The provided information identifies no license, runtime, or test setup; verify reuse permissions and validate any code you adopt.

Found this useful?

Share it with someone who would like ACM-ICPC-Algorithms.

Comparisons