Graph Theory
Four algorithms for shortest paths ( floyd , dijkstra , bellman (can calculate negative weights), spfa (bellman for queue optimization) )
Two algorithms for minimum spanning tree ( Kruskal, Prim )
Classical problems on trees (minimum dominating set, maximum independent set, minimum covering set, longest path, etc.)
Bipartite graph matching (Hungary, KM)
topological sort
Connected graphs (strongly connected, weakly connected, reconnected, single-term connected, and set search)
network flow
2-SAT
dynamic programming
To learn recursive implementation and memory search implementation
state compression
digital dp
Backpack/greedy (nine backpacks)
Slope optimization
plug dp
FFT
string
AC automaton
km²
suffix array
dictionary tree
LCP,LIS,LCSNumber Theory
Extended Euclidean (solving equations, finding inverses)
fast exponentiation (matrix fast exponentiation)
Rapid format prime number
Hexadecimal conversion (problems that are not easy to handle in decimal are converted to binary, etc.)
Euler function
Gaussian elimination
Stirling formula, Stirling number (the two are different, the focus of these years)Games and Probability Theory
Combinatorial Mathematics
Permutation group (Polya acceleration)
Catalan
Inclusion and exclusion principle
Data structure (excluding tree, graph, search and sorting) + STL
Linked list (List)
stack
queue, priority queue
set
map
vector
geometry
Various basic geometric operations
Convex hull
half plane intersection
closest point pair, farthest point pair
Simulated Annealing
circle and ball problem
Breadth first (one-way, two-way)
depth first
Priority with the right (A*)
binary search
Common problems with trees (binary trees, etc.)
Frequently Asked Questions about the Forest
tree array
max heap, min heap
segment tree
LCA
ordering of trees
sort
Bubble sort (stable), insertion sort (stable), insertion sort (unstable)
Quick Sort (unstable), Merge Sort (stable), Heap Sort (unstable), Hill Sort (unstable)
Counting sort (stable), bucket sort (stable), radix sort (stable)