Collection of algorithms and data structures in C++ used widely in Competitive programming contests.
- Range Aggregate Queries :
- Binary Indexed Trees (BIT) :
- Segment Trees (SegTree) :
- Merge Sort Trees :
- Sparse Table :
- Mo Algorithm :
- Dynamic Programming :
- Dynamic Programming Templates :
- Standard DP Problems :
- Graphs :
- Single Source Shortest Path Algorithms :
- All Pair shortest path :
- Cycle Detection :
- Minimum Spanning tree :
- Topological Sort / Strongly Connected Component :
- Maxflow/Matching :
- Misc :
- Trees :
- Ancestor queries :
- Path queries :
- Misc :
- Binary Exponentiation :
- Strings :
- String Algorithms :
- String Data Structures :
- Sorting :
- Fast Input/Output, String/Integer Conversion :
- Misc. Data Structures :
- Persistent Data Structures :
- Persistent Segment Trees (SegTree) :
- Number Theory Algorithms :
- Primality Check :
- Sieve :
- Polynomial Multiplication :
- Misc :
- Computational Geometry :
- Misc :