Based on the author’s level
Basic Algorithm: Enumeration——>Multiplication
difference (prefix sum)——>two-dimensional
greedy
Division and Conquer: merge sort (reverse order)
two points answer
Binary search
Quick Sort——>Discretization
recursion/recursion
Search: deep search (all schemes), wide search (optimal solution) )
DFS optimization: iteration
optimal pruning/feasibility pruning/search order
mnemonic search
half-fold search span style=”font-family:’comic sans ms’, sans-serif;”> A*/IDA*
BFS optimization: two-way BFS
Judgment heavy (Contor Expand )
priority queue search
DP: Linear DP(LIS/LCS) O(nlogn) algorithm< /p>
interval DP
tree DP
Backpack DP (01 backpack, complete backpack, multiple backpack)
number Bit DP
DP optimization: Exclude redundant state
State compression
Monotone queue/data structure
Monotonicity of decision-making
slope optimization
Data structure: queue/stack
< span style="font-family:'comic sans ms', sans-serif;"> linked list (hash table)
ST table
and check the collection p>
Binary stack (can be stacked)
tree array (reverse order pair)
line segment tree: dynamic opening point
line segment tree Merge
can be persistent
balance tree (interval operation): Splay
fhq_treap
block (Mo team and its extension)
chairman tree (static/dynamic)
tree set tree (line segment tree + balance tree)
String algorithm: string hash
KMP< /span>
Trie——>Persistence/01 Trie
AC automata
Number Theory: Prime Number Sieve (Euclidean Sieve/Linear Sieve)
factorization of prime factors (the only factorization theorem)
Euler function (single/linear sieve) -> Euler power reduction
Exgcd expands Euclidean algorithm
multiplication Inverse element: Tuoou
Fermat’s little theorem
< p> linear forward inverse element
linear inverse factorial inverse element
Chinese remainder Theorem CRT/ExCRT
BSGS algorithm/ExBSGS algorithm
< p> combination count (Lucas theorem)
matrix fast power (accelerated recursion)
Gaussian elimination (Gauss-Jordan Elimination)
linear basis
Miller_Rabbin
FFT/NTT
Tree theory: Tree diameter/center of gravity (point divide and conquer)
tree chain division
LCA: Tree Section
doubles on the tree
Euler’s Circumference Order
difference on the tree
base ring tree
Graph Theory: Topological Sorting O(nlogn)
Minimum Spanning Tree: Prim
Kruskal (Kruskal reconstruction tree)
Shortest path: Heap+dijkstra
>
SPFA(SLF/LLL)——>Negative loop
< p> Floyd——>pass closure
Graph connectivity: Tarjan seeks strong connected components——>2-SAT
cut edge/cut point
Component/edge dual connected components
bipartite graph
network stream
Other: conclusion question emm……
ruler taking method
suspension wire method p>