/competetive-programming-library

Algorithms implementation in C++ for competitive programming purposes.

Primary LanguageC++MIT LicenseMIT

Competetive Programming Library

Algorithm implementation in c++ for competitive programming purpose

Algorithms

Graphs

  • Dijkstra
  • Bellmanford
  • Floyd Warshal
  • Prims
  • Kruskal
  • Disjoint Set Union
  • Strongly Connected Components
  • Maximum Flow (Ford Fulkerson)
  • Edmond Karp
  • Dinic (scalling)

Data Structures

  • Segment Tree
  • Fenwick Tree
  • 1d & 2d with range update & range query
  • Mo's Algorithm
  • Sliding Range
  • Lowest Common Ancestor (Sparse Table)
  • Ordered Set (Policy Based Data Structure in G++)

String

  • Trie prefix tree
  • Rolling Hash
  • KMP Algorithm
  • Z Function

Number Theory

  • Matrix Exponentiation
  • Chinese Remainder Theorem
  • Extended GCD
  • Linear Diophantine Equation

Miscellaneous

  • Big Integer C++ library
  • GCC Compiler Optimization
  • Maximum Histogram