All ACM algorithms |
Data |
-
- Stacks, queues, linked lists
- Hash table, hash array
- Heap, Priority queue
Dual-ended queues Can and Heap Left bias Heap
- Binary search Tree
Treap Stretching tree
- and check Set
Collection Count Issues The recognition of the dichotomy graph
- Balanced two-pronged tree
- Binary sort Tree
- Segment Tree
One-dimensional line segment tree Two-dimensional line segment tree
- Tree-like array
One-dimensional tree-like array n-dimensional tree-like array
- Dictionary Tree
- suffix array, suffix tree
- Block Linked list
- Huffman Tree
- Barrels, jumping tables
- Trie tree (static achievements, dynamic achievements)
- AC Automatic Machine
- LCA and RMQ Issues
- KMP algorithm
|
Graph theory |
-
-
breadth-first traversal depth first traverse topological sort Cut edge cut point strong connectivity component tarjan algorithm dual connected components strong connected branch and its indent cut and cut point of the graph min cut model, network Flow protocol 2-sat problem Euler loop Hamiltonian loop
- minimum spanning tree
prim algorithm kruskal algorithm (sparse graph) sollin algorithm sub-niche into a tree K small spanning tree Optimal scale spanning tree minimum tree figure minimum limit spanning tree Euclidean minimum spanning tree Manhattan minimum spanning tree min-balance spanning tree
- Shortest path
topological sort with the shortest path to a non-circular graph Span style= "font-size:16px" > The shortest path->dijkstra algorithm for weighted graphs with nonnegative weights (can be optimized with two fork heap) Shortest path->SPFA algorithm for weighted graphs with negative weights full-source short-circuit Johnson algorithm short path K short path differential constraint system Shortest path to planar pairs (optimization) double standard limit shortest path
- Max stream
augmented path->ford-fulkerson algorithm pre-push stream dinic algorithm maximum flow with upper and lower bounds node restricted network flow ford-fulkerson superposition algorithm
- The
Hungary algorithm Minimum point Overlay Minimum path Overlay Maximum independent set problem An optimal complete matching kuhn-munkras algorithm for two-fractal graphs No weighted binary matching: Hungarian algorithm Weighted binary matching: km algorithm Maximum cardinality matching for general graphs The weighted matching problem of general graphs
- Topological sorting
- Chord Chart
- Stable marital problems
|
search |
-
- wide search status optimization
using m-binary number storage status Convert to string hash table weight bitwise compressed storage status bidirectional wide search a* algorithm
- deep search optimization
bit operations pruning Span style= "font-size:16px" > function parameters as few as possible layers are not too large bidirectional search or rotate search ida* algorithm - memory search
|
Dynamic planning |
-
- The theory of quadrilateral inequalities
- Incomplete status record
Frog Crossing the river problem Using Interval DP
- Knapsack problem
0-1 Backpack, Classic questions Infinity Backpack, Classic question The question of the judgement knapsack Knapsack problem with affiliated relationship +-1 knapsack problem Double Backpack for optimal value Structure Triangle problem Knapsack problem with upper bound limit (012 backpack)
- linear dynamic programming problems
Bricks game issues Duel (determinant problem) The largest polygon problem of the circle count the number of words Checkerboard split Scheduling issues minimum approximation problem (find out the ratio of two to the sum of a certain number/two number and so on) Block game (a range can be eliminated for maximum benefit) Resource allocation problem Digital triangle problem nice print Post Office questions and structuring answers tallest bricks problem two consecutive and maximum 2 powers and problems n the maximum number of M pieces and crossover max problem
- DP (e.g., Division of Judgment, determination of accessibility, etc.) of the determinant problem
DP for modulo k problem Special modulo k problem, the number of maximum (minimum) modulus k is obtained. Transform number problem
- Dynamic programming of monotonic optimization
1-sum problems 2-sum problems Sequence partitioning problem (monotonic queue optimization)
- Split problem (polygon split/stone merge/Circle split/Product max)
Triangulation problem of convex polygon The biggest problem of product Polygon Game (operator on polygon Edge, vertex right value) Stone Merging (N^3/n^2/nlogn various optimizations)
- Greedy dynamic planning
Optimal loading problem Partial knapsack problem Boat problems Greedy strategy Johnson algorithm for two-machine scheduling problem
- Status DP
Cowboy Shooting problem (game class) State DP of the Hamiltonian path Balance problem of two-pivot balance The nearest two-part diagram of a forward graph
- Tree-Type DP
Perfect server problem (3 states per node) Little fat, keep the palace. Network charge issue Roaming problems in Trees The game on the tree The maximum independent set problem of a tree The maximum equilibrium value problem of a tree The minimum ring of the construction tree
|
Mathematical |
Arithmetical |
-
- China remainder theorem
- Euler function
- Euclidean theorem
- Euclid gcd (greatest common divisor)
- expand Euclid
- large number decomposition and prime determination
- Pell equation
- congruence theorem (large number of remainder)
- prime test
10 million: Miller test method
- continuous fraction approximation
- factorization
- loop swarm generation element
- Prime and division of integers
-
-
|
combinatorial math |
-
- permutation combination
- tolerant principle
- recursive relationship and generation function
- polya notation
polya count formula burnside theorem
- n Queen tectonic solution
- magic square construction
-
- catalan number
- stirling number
- Fibonacci number
- harmonic number
- even fractions
- mobius inversion
- partial order relationship theory
- addition principle and multiplication principle
|
Calculate geometry |
-
- Basic formula
Fork Multiply Point multiplication Area, perimeter, volume formula for common shapes discretization of coordinates
- Segment
Determine if two segments (line, segment) intersect Finding the intersection of two segments
- Polygon
Determine convex polygons, vertices are given clockwise or counterclockwise, (not) allow adjacent edges to collinear Points are in convex polygons or polygon edges, vertices are given clockwise or counterclockwise Points are within a convex polygon, vertices are given clockwise or counterclockwise, and return 0 on the polygon edge Points are within a freeform polygon, and vertices are given clockwise or counterclockwise The line segment is within the freeform, the vertex is given clockwise or counterclockwise, and the boundary intersects with the border returns 1 Polygon Center of gravity Polygon cutting (half-plane intersection) Scan line algorithm The core of the polygon
- Triangle
Heart Circumcenter Focus Vertical Heart Fermat Point
- Round
Intersection of lines and circles, including tangency Intersection of segments and circles, including endpoints and tangency Intersecting circles, including tangency Calculates the nearest point on a circle, such as P coincident with the center, and returns p itself Calculates the intersection of a line and a circle, guaranteeing the intersection of a line and a circle Calculates the intersection of a segment and a circle using this function to determine whether a point is on a line segment Calculates the intersection of a circle and a circle, ensuring that the circle has an intersection with the circle and the center is not coincident Calculate the inner and outer Gongsche of two circles To calculate the tangent point of a segment to a circle Point Set minimum Circle overlay
- Building a visual image
- To heel point
- Classic Questions
Flat Convex bag Three-dimensional convex bag Delaunay split/voronoi diagram
|
Calculation method |
-
- Two-part method
The dichotomy method for solving the related knowledge of monotone function Calculation using matrix acceleration
- Iterative method
- Three-part method
- Solving systems of linear equations
Lup decomposition Gaussian elimination element
- CHENMO Linear Systems
- Definite integral calculation
- Polynomial seeking Root
- Periodic equations
- Linear programming
- Fast Fourier transform
- Stochastic algorithm
- 0/1 Fractional Planning
- Solving extremum of single-peak (valley) by three-part method
- Iterative approximation
- Matrix method
|
Game theory |
-
- Maximum minimum process
- Nim question
|