非远古\(NOIP\)题目补完(即\(2011\)年及以后)
概率期望dp: https://www.cnblogs.com/Paul-Guderian/p/7624039.html
带度数限制的最小生成树:https://ac.nowcoder.com/acm/contest/1056/B
https://atcoder.jp/contests/abc137/tasks/abc137_f
https://ac.nowcoder.com/acm/contest/932/C
https://ac.nowcoder.com/acm/contest/935/B
https://ac.nowcoder.com/acm/contest/935/C
https://ac.nowcoder.com/acm/contest/934/B
\[ \begin{aligned} &\text{设}A_i=\sum_{j=1}^{n'}[a_j=i], n=\max\{a_i\},B = \sum_{i=1}^n i*A_i,C=\sum_{i=1}^n\sum_{j=1}^nA_iA_j \\ &\prod_{i=1}^{n-1} \prod_{j=i+1}^{n} (i,j)^{A_iA_j}\\ &=\prod_{d=1}^nd^{\frac{1}{2}\left( {\sum_{i=1}^{n}\sum_{j=1}^{n} A_iA_j[(i,j)=d]} -B\right)} \\ &\sum_{i=1}^{n}\sum_{j=1}^{n} A_iA_j[(i,j)=d]\\ &=\sum_{i=1}^{\frac{n}{d}}\sum_{j=1}^{\frac{m}{d}} A_{id}A_{jd} [(i,j)=1]\\ &=\sum_{i=1}^{\frac{n}{d}}\sum_{j=1}^{\frac{m}{d}} A_{id}A_{jd} \sum_{k|(i,j)}\mu(k)\\ &=\sum_{k=1}^{\frac{n}{d}}\mu(k)\sum_{i=1}^{\frac{n}{kd}}\sum_{j=1}^{\frac{m}{kd}} A_{idk}A_{jdk} \\ &=\sum_{k=1}^{\frac{n}{d}}C*\mu(k) \\ &\prod_{d=1}^nd^{\frac{1}{2}\left( {\sum_{i=1}^{n}\sum_{j=1}^{n} A_iA_j[(i,j)=d]} -B\right)} \\ &=\prod_{d=1}^nd^{\frac{1}{2}\left( \left(C* \sum_{k=1}^{\frac{n}{d}} \mu(k)\right)-B\right)} \\ \end{aligned} \]
可能会去做的:JOI Final
提高算法
DP
线性 DP区间 DP- 四边形不等式优化
- 划分 DP
- 简单优化
单调队列- 单调栈
其他数据结构(线段树等)
- 期望 DP
状压 DP- 枚举子集的复杂度是\(O(3^n)\)
- 熟记各种位运算
for(int S0 = S; S0; S0 = (S0 - 1) & S) { S1 = S0 ^ S; // S为原集合,S0为S的所有非空子集,S1为S0以S为全集时的补集 }
- 计数 DP
- 数位 DP
字符串
- KMP
- 字典树(Trie)
哈希(Hash)- AC 自动机
数据结构
线段树- 扫描线
树状数组- 平衡树
- 分块
- 主席树
树上问题
树的直径树的重心- 定义:最大的子树节点数最少
- 求法:钦定点1为根,然后每个点为根的情况的所有子树就是以1为根时的子树和它之外的所有节点构成的子树
树上求 LCA(倍增或树链剖分皆可)树上差分基环树树链剖分
图上问题
- Tarjan 和缩点 DP
- 有向图/无向图Tarjan,割点,桥,点/边双联通分量
最小生成树- 最短路问题
FloydDijkstraBellman-Ford / SPFASPFA求负环
- 二分图匹配
- 差分约束
数学
- gcd 和 exgcd
乘法逆元矩阵快速幂- 组合计数与容斥原理
- 概率与期望
- 中国剩余定理
- 高斯消元
- 线性基
- 博弈论基本模型及SG函数
其他
- 搜索
- 贪心
二分- 三分
- STL