2-Satisfiability
2D BIT point updates, range queries
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1010E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1093E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1617_3P/Friendcross.java
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1819_2P/Redistricting.cpp
Aho-Corasick
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/COCI/15-Divljak.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1327G.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Kattis/open/stringmultimatching.cpp
Aliens Trick
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CSAcademy/82-E.java
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CSAcademy/romanian-ioi-2017-selection-2-popcorn.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/IOI/16-Aliens.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/SGNOI/19-Feast.cpp
AVL Tree
- Persistent
Biconnected Components
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/APIO/18-Duathlon(1).cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/APIO/18-Duathlon(2).cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/POI/23-Hydro.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1718_1P/Pushabox.cpp
Binary Lifting
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/UPDOTR.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1023F(2).cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1516_1P/Maxflow.java
Bipartite Matching
- Kuhn
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/AtCoder/G037-D.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/BkOI/18-Minmaxtree.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/KPERFMAT.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1054F.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/GoogleCodeJam/18-2-C.java
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1112_1G/Steeple(1).java
- Hopcroft Karp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/university-codesprint-4/drawing-rectangles.java
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/SPOJ/MATCHING.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1112_1G/Steeple(3).java
Bridges
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CEOI/17-OneWay.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/LONCYC.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1000E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/noi-ph-2019/super-rangers.java
Centroid Decomposition
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/CNTIT.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/TREEQ1.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1303G.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/w38/neighborhood-queries(1).cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/w38/neighborhood-queries(2).cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/JOI/13O-Synchronization(1).cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1718_3P/Newbarn(1).java
Chinese Remainder Theorem
Closest Pair of Points
Convex Hull
Convex Hull Trick
- Pointer walk
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/APIO/10-Commando.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/APIO/14-Sequence.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/BkOI/11-2Circles.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CEOI/04-Two.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/0436F.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/0536C.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1067D.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1175G.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1179D.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/mining.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/IOI/16-Aliens.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/PKU/3709.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/SPOJ/BAABO.cpp
- Binary search
- Dynamic
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CEOI/17-Building.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1303G.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/FacebookHackerCup/20-2-D.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/JOI/17S-Coach.cpp
- Square root
Count lattice points below line
Discrete Logarithm
Divide and Conquer Optimization
Dynamic Connectivity
Euler Paths
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1012E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/noi-ph-2019/spratly-islands-tour.java
Fast Fourier Transform
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/DOTIT.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/0993E.cpp
Gaussian Elimination
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/0832E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/0938G.cpp
Half-Plane Intersection
Heavy Light Decomposition
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CEOI/20-Cleaning.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/ADITREE.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1007D.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1254D.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/G102052E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/JOI/18S-Construction.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1112_2G/Grassplant(2).java
Knuth Optimization
Link/Cut Tree
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1172E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/pwshpc-online-round/pwsh-tokens.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/SPOJ/DYNACON1.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/SPOJ/DYNALCA.cpp
Manacher
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/APIO/14-Palindrome.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1080E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CSAcademy/fii-code-2020-round-3-D.cpp
Matrix Multiplication
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1182E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1197F.cpp
Matroid Intersection
Maximum Clique
Maximum Flow
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1198E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/FacebookHackerCup/19-1-C.java
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1112_1G/Steeple(2).java
Minimum Arborescence
Minimum Cost Flow
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1061E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1187G.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/w38/cargo-delivery.cpp
Mo's Algorithm
Mobius Inversion
Modular Inverse
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1172C.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CSAcademy/junior-challenge-2017-day-1-borland.cpp
Number Theoretic Transform
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/BINOFEV.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1096G.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1096G.java
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1227F.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/noi-ph-2019/yet-another-packing-problem.java
Order Statistics Tree (PBDS)
Parallel Binary Search
Point Convex Polygon Tangent
Prefix Function
ST-Ordering
Segment Tree
- Point set updates, range sum queries, range max queries
- Point increment updates, range sum queries, persistent
- Range max updates, point queries, iterative
- Range add updates, range max queries
- Point set updates, range hash queries, persistent
- Range flip 0<->1 updates, range sum queries
- Range permutation composition
- Point max updates, range max queries, iterative
- Range max updates, iterative
- Range add updates, range sum queries
- Max subarray sum in subarray queries
- Add interval updates, length of union of intervals queries
- Range multiply and add updates, range sum queries
- Point min updates, range min queries, iterative
- Range set updates, range max queries, iterative
- Range add updates, maximum and count of maximum queries
- Range add updates, total minimum queries
- Range add updates, range minimum queries
- Range add updates, range min queries
- Point set updates, range min queries, iterative
- Point set updates, range maximum subarray sum queries
- Range add updates, range max queries, find all positive indicies
- Point add updates, range sum queries, persistent
- Range add updates, total max queries
- Range add updates, total min queries
- Range add updates, range max queries
- Range add updates, range min and min count queries
- Range max updates, iterative
- Range set and add updates, point queries, persistent xor mergeable
- Point set updates, maximum subarray sum queries
- Point set updates, range max queries, iterative
- Range add updates, range max queries
- Range add updates, range min and sum queries
- Point set updates, range max queries
- Range add updates, range max queries
Segmented Sieve
Sparse Table
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/APIO/14-Palindrome.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1000G.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1023D.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1032G.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1083C.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/w38/neighborhood-queries(1).cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/HackerRank/w38/neighborhood-queries(2).cpp
Splay Tree
Strongly Connected Components
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/APIO/09-ATM.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/BkOI/12-FanGroups.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/0403C.java
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/Codeforces/1065F.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/IOI/17-Books.cpp
Suffix
- Array
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/APIO/14-Palindrome.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/AtCoder/G037-E.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/CodeChef/PLANT.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/SPOJ/SARRAY.cpp
- https://github.com/tmwilliamlin168/CompetitiveProgramming/blob/master/USACO/Contests/1718_1P/Standingout.cpp
- Tree
Top Tree
Treap
- Normal
- Persistent
Z Function