competitive-programming-rs icon indicating copy to clipboard operation
competitive-programming-rs copied to clipboard

Algorithm Snippets for Competitive Programming in Rust

Competitive Programming Snippets in Rust

Continuous integration Latest version

This is a repository of a set of algorithms implemented in Rust.

  • Designed to solve problems quickly in programming competitions.
  • Well-tested.

Data Structures

  • BitSet
  • Fenwick Tree
  • Fibonacci Heap
  • Lazy Segment Tree
  • Persistent Array
  • Segment Tree
  • Sparse Table
  • Suffix Array
  • Treap
  • Union-Find tree

Geometry

  • Algorithms for circles
  • Convex Hull
  • Minimum Bounding Circle

Graph

  • Bridge Detection
  • Lowest Common Ancestors
  • Maximum Flow
  • Minimum Cost Flow (Primal-Dual)
  • Minimum Cost Flow (cost-scaling)
  • Shortest Path (Bellman-Ford)
  • Strongly Connected Components
  • ReRooting
  • Topological Sort

Mathematics

  • Chinese Remainder Theorem
  • Combination
  • Cumulative Sum
  • Fast Fourier Transform
  • Floor Sum
  • Lagrange Interpolation
  • Max Rectangle
  • Mod Integer
  • Next Permutation

String

  • Rolling Hash
  • Z Algorithm

Others

  • Scanner

Resources