-
enumeration Techniques
-
2 Summarize the state of the art - DP speeds up all searches - Speeding up the process by equating states - Conditions that can be summarized - Same destination state - The coefficients on the transitions are the same. - All of the summarized states either meet or do not meet the conditions of the problem statement. - ARC059F - codefestival_2016_final_F - AOJ2439
-
- 3.1 Sort in descending order of size
- 3.2 The permutation is insertion DP
- When determining permutations in DP, it is necessary to keep track of “what has already been used”.
- If it is small, you can use bit DP.
- Instead of doing it in order, do it in ascending/descending order of what you put in.
- When determining permutations in DP, it is necessary to keep track of “what has already been used”.
- 3.3 Section sorted by endpoint
-
4 Paraphrasing conditions - Many operations but few products.
-
5 Return from greedy
- Find the number of columns that may be created by an operation” is difficult when the same column is created by multiple operation columns
- It would be easier to count if there was a way to uniquely determine the operation sequence from the product.
-
6 Techniques for Case Segregation
- Case by parameter
- Be careful to DISJOINT
- AGC013D
- Case by parameter
-
7 Decomposition into linear sums
- It is similar to what I call change order of operations.
-
8 subgroup techniques - Operation is reversible and the whole area → subgroup - Lagrange’s theorem
- Predicting the number of invariants
- If it’s even, it’s likely to have even-odd invariants.
- Predicting the number of invariants
-
9 Use of recursive definitions
- Works well with DP Recursive definition → DP.
- ARC037D
-
10 About [Digit DP
-
11 Acceleration Techniques
- 11.1 Using [cumulative sum
- 11.2 Use of Data Structures - Fennic tree
- 11.3 Array usage
- 11.4 Fast Fourier Transform
- 11.5 fast zeta transformation
- Can be used for operations that satisfy the coupling and exchange laws
- 11.6 Convolution of And and Add - Algorithm similar to [Fast Fourier Transform
- 11.7 Simple branch trimming
-
12 Techniques with Matrices 26
- 12.1 power of two
- AGC013E
- Power of the companion matrix
- Power of polynomial
- 12.2 Matrix Expression Techniques - matrix tree theorem - Number of trees in the whole area - LGV Official - Number of non-intersecting paths
- 12.1 power of two
-
14 Binomial coefficient technique 30
- 14.1 Collection of frequently used formulas - binomial coefficient formula
- 14.2 Return to [Number of routes
- Attributing binomial coefficients to the number of paths makes it easy to transform the equation
- 14.3 45 degree rotation - divide into X and Y
- 14.4 Catalan number
-
15 principle of inclusion 33
- 15.1 When symmetry is used
- 15.2 Using DP
- 15.3 irreducible inclusion
-
16 Identifying “unsolvable problems
This page is auto-translated from /nishio/数え上げテクニック集 using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I’m very happy to spread my thought to non-Japanese readers.