Templates, algorithms and data structures implemented and collected for programming contests.
- Start Template
- Debug Template
- Random Generator
- Binary Exponentiation
- Divisors
- Divisors Sieve
- GCD and LCM
- Prefix Sum
- Prefix Xor
- Prefix Sum 2D
- Prefix Sum 3D
- Difference Array
- Selection Sort
- Bubble Sort
- Insertion Sort
- Quick Sort
- Merge Sort
- Heap Sort
- Counting Sort
- Radix Sort
- Bitwise Operations
- Bitmask
- Binary Search
- Ternary Search
- Iterators
- Pair
- Tuple
- Stack
- Queue
- Priority Queue
- Array
- Vector
- Deque
- String
- Forward List
- List
- Bitset
- Vector Bool
- Set
- Multiset
- Map
- Multimap
- Unordered Set
- Unordered Multiset
- Unordered Map
- Unordered Multimap
- Minimum Stack
- Minimum Queue
- DSU
- DSU with Rollback
- Sparse Table
- Sparse Table 2D
- Fenwick Tree
- Fenwick Tree with Range Update & Range Query
- Segment Tree
- Segment Tree Lazy
- Segment Tree 2D
- Trie on Strings
- Trie on Bits
- Sqrt Decomposition
- MO's Algorithm
- BST
- Treap
- Ordered Set
- DFS
- BFS
- Topological Sorting
- Bipartite Checking
- Cycle Detection in Undirected Graph
- Cycle Detection in Directed Graph
- Articulation Bridges
- Articulation Points
- Bridge Tree
- Block-Cut Tree
- BFS 0/1
- Floyd Warshall
- Bellman Ford
- Dijkstra
- SCC
- LCA
- Centroids
- 2 SAT
- Maximum Flow (Edmons-Karp)
- Maximum Flow (Dinics)