This is the data structures and algorithms repository.
This is the algorithms category.
- Flows
- max_flow.cpp
- min_cost_max_flow.cpp
- readme.md
- Matchings
- hopcroft_karp.cpp
- kuhn.cpp
- hungarian.cpp
- readme.md
- readme.md
- Aho–Corasick algorithm
- aho-corasik.cpp
- readme.md
- Hashing
- hashing.cpp
- readme.md
- Knuth-Morris-Pratt
- kmp.cpp
- readme.md
- Z-function
- z-function.cpp
- readme.md
- Manacher's algorithm
- manacher.cpp
- readme.md
- readme.md
- Lowest Common Ancestor (LCA)
- binary_lifting.cpp
- euler_tour_rmq.cpp
- euler_tour_segment_tree.cpp
- tarjan_offline.cpp
- farach-colton_bender.cpp
- readme.md
- Rerooting technique
- rerooting.cpp
- readme.md
- Heavy Light Decomposition (HLD)
- hld.cpp
- readme.md
- Centroid Decomposition
- centroid.cpp
- readme.md
- readme.md
This is the data structures category.
- Fenwick Tree / Binary Indexed Tree (BIT)
- prefix_sum.cpp
- prefix_min.cpp
- range_add.cpp
- range_add_range_sum.cpp
- 2d_prefix_sum.cpp
- readme.md
- Segment Tree
- range_add_range_sum.cpp
- point_add_range_sum.cpp
- point_update_range_max.cpp
- range_add_range_max.cpp
- max_sum_subarray.cpp
- 2d_segment_tree.cpp*
- presistent_segment_tree.cpp*
- dynamic_segment_tree.cpp*
- readme.md
- readme.md
- Union Find / Disjoint Set Union (DSU)
- dsu.cpp
- readme.md
- readme.md
- Trie / Prefix Tree
- trie.cpp
- map_trie.cpp
- readme.md
- readme.md
This is the geometry category.
- Primitives
- point.cpp
- line.cpp
- segment.cpp
- readme.md
- Convex Hull
- graham_scan.cpp
- monotone_chain.cpp
- quick_hull.cpp
- readme.md
- Li Chao Tree
- li_chao_tree.cpp
- readme.md
- readme.md
This is the math category.
- Number Theory
- congruence.cpp
- diophantine.cpp
- readme.md
- Polynomes
- polynome.cpp
- fft.cpp
- ntt.cpp
- karatsuba.cpp
- readme.md
- Modular Arithmetic
- modint.cpp
- readme.md
- Long Arithmetic
- bignumber_v1.cpp
- bignumber_v2.cpp
- readme.md
- readme.md
This is the miscellaneous category.
- Sieves
- root_number.cpp
- divisor_count.cpp
- divisor_sum.cpp
- mobius_cpp
- erathostenes.cpp
- euler_totient.cpp
- msb.cpp
- popcount.cpp
- readme.md
- Goofy Data Structures
- Dynamic Array (my shot at implementing std::vector<>)
- dynamic_array.cpp
- readme.md
- StackRMQ (a RMQ that can be supports stack operations)
- stackrmq.cpp
- readme.md
- readme.md
- Dynamic Array (my shot at implementing std::vector<>)
- readme.md