《 Algorithm contest 》 It is expected to be printed by the end of the year , This is the catalog .
Is there anything that needs to be improved ? Please give us your opinions .

The third 1 chapter Basic data structure
1.1.1 dynamic chain
1.1.2 Realization of one way static linked list with structure
1.1.3 Realization of bidirectional static linked list with structure
1.1.4 Realization of one way static linked list with one dimensional array
1.1.5 STL list
1.2 queue
1.2.1 STL queue
1.2.2 Handwriting circular queue
1.2.3 Two terminal queue and monotone queue
1.2.4 Priority queue
1.3 Stack
1.3.1 STL stack
1.3.2 Handwriting stack
1.3.3 Monotonic stack
1.4 heap
1.4.1 Binary reactor concept
1.4.2 Implementation of binary heap
1.4.3 Handwriting pile
1.4.4 STL priority_queue
1.5 Hash
1.5.1 Basic concepts of hash
1.5.2 Binary hash
1.5.3 Double hash
1.5.4 String hash
The third 2 chapter Basic algorithm
2.1 Ruler method
2.1.1 The concept of ruler method
2.1.2 Reverse scanning
2.1.3 Scanning in the same direction
2.1.4 Typical topic
2.2 dichotomy
2.2.1 The theoretical background of dichotomy
2.2.2 Integer dichotomy template
2.2.3 Typical problems of integer dichotomy
2.2.4 Real dichotomy
2.3 Trisection method
2.3.1 principle
2.3.2 Real number three
2.3.3 Three parts of an integer
2.4 Multiplication and ST algorithm
2.5 Difference
2.5.1 One dimensional difference
2.5.2 Two dimensional difference
2.5.3 Three dimensional difference
2.6 Discretization
2.7 sort
2.8 Bit operation
The third 3 chapter search
3.1 Search Basics
3.1.1 Introduction to search
3.1.2 The basic idea of search algorithm
3.1.3 BFS The nature and code implementation of
3.1.4 DFS Common operations and code implementation of
3.1.5 BFS and DFS
3.2 prune
3.3 BFS extend
3.3.1 Two way search
3.3.2 BFS + Priority queue
3.3.3 BFS + Two terminal queue
3.3.4 A* algorithm
3.4 Iterative deepening
3.4.1 BFS and DFS Shortcomings of
3.4.2 Principle and complexity of iterative deepening search
3.5 IDA*
The third 4 chapter Advanced data structure
4.1 And check the collection
4.1.1 The basic operation of union search
4.1.2 Optimization of merger
4.1.3 Query optimization —— Path compression
4.1.4 Weighted union search
4.2 Tree array
4.2.1 Tree array concept and basic coding
4.2.2 Basic application of tree array
4.2.3 Extended application of tree array
4.3 Segment tree
4.3.1 The concept of segment tree
4.3.2 Interval query
4.3.3 Interval operation and control lazy-tag
4.3.4 Basic examples
4.3.5 Interval maximum and interval historical maximum
4.3.6 Interval merging
4.3.7 Scan line
4.3.8 2D line segment tree （ Tree in tree ）
4.4 Persistent line segment tree ( Chairman tree )
4.5 Block and Mo's algorithm
4.5.1 Block
4.5.2 Basic Morse algorithm
4.5.3 Mo team with modification
4.5.4 Mo team in the tree
4.7 Binary search tree
4.7.1 concept
4.7.1 Treap tree
4.7.1 Splay tree
4.8 Huffman tree
4.9 Cartesian Tree
4.10 Base ring tree
4.11 Dictionary tree
4.12 Dynamic tree LCT
The third 5 chapter dynamic programming
5.1 DP Concept and coding method
5.1.1 DP Characteristics of the problem
5.1.2 DP Two kinds of programming methods based on MATLAB
5.1.3 DP The design and implementation of the system
5.1.4 Scrolling array
5.2 classic DP Interview questions
5.3 typical DP application
5.3.1 section DP
5.3.2 State compression DP
5.3.3 Tree shape DP
5.3.4 digit DP
5.3.5 Count class DP
5.3.6 probability DP
5.3.7 dynamic DP
5.3.8 Plug DP
5.4 DP optimization
5.4.1 DP Overview of optimization technology
5.4.2 General optimization method
5.4.3 Monotonic queue optimization
5.4.4 Slope optimization / Convex hull optimization
5.4.6 Data structure optimization
5.5 DP Selected difficult problems
The third 6 chapter mathematics
6.1 Modular operation
6.2 Counting
6.3 Matrix multiplication
6.3.1 Calculation of matrix
6.3.2 Fast power of matrix
6.3.2 Fast power addition recursion of matrix
6.3.2 Matrix multiplication and path problem
6.4 Matrix and Gauss elimination
6.5 0/1 Score planning
6.6 An overview of number theory
6.7 GCD and LCM
6.7.1 GCD
6.7.2 Pei Shu theorem
6.7.3 LCM
6.8 Linear Diophantine equation
6.9 congruence
6.9.1 Congruence overview
6.9.2 Linear congruence equation of one variable
6.9.3 inverse
6.9.4 Congruence Equations
6.10 Primitive root
6.11 Lucas theorem
6.12 Big step and small step algorithm
6.13 Polya Theorem and Burnside lemma
6.14 prime number （ Prime number ）
6.14.1 Determination of small prime number
6.14.2 Determination of large prime number
6.14.3 use java Function judging large prime number
6.14.4 Prime sieve
6.14.5 Quality factor decomposition
6.15 Wilson theorem
6.16 Product function
6.17 Euler function and Euler theorem
6.17.1 Euler function
6.17.2 Euler theorem
6.18 Dividing into blocks （ Number theory partition ）
6.19 Dirichlet convolution
6.20 Mobius function and Mobius inversion
6.21 Min-25 sieve
6.22 Du Jiaosha
The third 7 chapter character string
7.1 Manacher
7.2 KMP
7.3 AC automata
7.4 Suffix tree and suffix array
The third 8 chapter graph theory
8.1 Storage of Graphs
8.2 Flood filling algorithm
8.3 An overview of the problems on trees
8.4 LCA
8.4.1 Multiplication on the tree
8.4.2 On the tree Tarjan
8.4.3 LCA application
8.5 Tree chain partition
8.5.1 Tree chain partition LCA
8.5.2 Typical applications of tree chain partition
8.5.3 Long chain partition
8.6 shortest path
8.6.1 Floyd-Warshall
8.6.2 Dijkstra
8.6.3 Bellman-ford Algorithm and SPFA algorithm
8.6.4 compare Bellman-ford Algorithm and Dijkstra algorithm
8.6.5 Shortest path exercises
8.7 Differential constraint
8.8 minimum spanning tree
8.8.1 Kruskal algorithm
8.8.2 Prim algorithm
8.8.3 Examples
8.9 Topological sorting
8.10 Bipartite graph
8.11 2-SAT
8.12 Connectivity of Graphs
8.13 Maximum flow
8.14 Minimum cut
8.15 Minimum cost maximum flow
The third 9 chapter geometry

attach A Test data construction and registration （C++ realization ）
attach B Commonly used in competitions C++ STL function
attach C Python Application in competition
attach D Knowledge inventory of algorithm competition

Technology
Daily Recommendation