Prewritten algorithms for competitive programming.
Algorithms:
-
Data structures
- Fenwick tree (Binary indexed tree)
- Segment tree
-
Flows
- Dinic maximal flow
- Minimum cost maximal flow
-
Matchings
- Edmonds (maximal matching in arbitrary graph)
- Hungarian (maximal weighted matching in bipartite graph)
- Kuhn (maximal matching in bipartite graph)
-
Strings
- Aho-Korasic
- Knuth-Morris-Pratt
- Suffix array
- Suffix tree (by Ukkonen)
-
Auxillary
- Arbitrary length integer
- Fast Fourier transform
- Matrix multiplication