This repository involves algorithm references for personal use.
- Graph
- Breadth First Search / Depth First Search (幅優先探索 / 深さ優先探索)
- Topological Sort (verified with AOJ GRL4) (トポロジカルソート)
- Strongly Connected Components Decomposition (強連結成分分解)
- Kosaraju Algorithm (verified with AOJ GRL3)
- Minimum Spanning Trees (MST) (最小全域木)
- Kruskal Algorithm (verified with AOJ GRL2)
- Prim Algorithm
- Single-Source Shortest Paths (単一始点最短経路問題)
- Bellman-Ford Algorithm (verified with AOJ GRL1)
- Dijkstra Algorithm (verified with AOJ GRL1)
- All-pairs Shortest Paths (全点対最短経路問題)
- Warshall-Floyd Algorithm
- Transitive Closure (有向グラフの推移閉包)
- Johnson Algorithm (verified with AOJ GRL1)
- Maximum Flow (最大流)
- Edmonds Karp Algorithm
- Bipartie Mathing (二部グラフの最大マッチング) (DFS-based Ford-Fulkerson)
- Data Structure
- Union-Find tree (verified with POJ 1182) (Union-Find木)
- Segment Tree (セグメント木)
- Range Minimum Query (verified with AOJ DSL2)
- Range Sum Query (verified with AOJ DSL2)
- Number Theory
- GCD/LCM
- Extended Euclid (verified AOJ NTL)
- LCM (more than 2 numbers) (verified AOJ NTL)
- Gaussian Elimination (ガウスの消去法)
- Simplex Algorithm (シンプレックス法)
- Permutation Enumeration (順列列挙)
- Bucketing algorithm
- Square Root Decomposition
- Dynamic Programming (Knapsack problem, LCS, ...)
- Sieve of Eratosthenes
- Primarity test
- Divisor enumeration
- Prime Factor Decomposition
- 重軽分解
- 最近共通祖先(LSA)
- 二重辺連結成分分解
- 最小費用流
http://codeforces.com/blog/entry/18051 https://www.topcoder.com/community/data-science/data-science-tutorials/range-minimum-query-and-lowest-common-ancestor/ https://blog.anudeep2011.com/heavy-light-decomposition/ http://www.prefield.com/algorithm/index.html