佛脚公式
组合恒等式
吸收恒等式: \(\binom mi i = m\binom{m-1}{i-1}\)
范德蒙德卷积:\(\sum_{i=0}^k \binom ni\binom m{k-i}=\binom {n+m}k\)
单位根反演
斯特林
\(n\brack m\) \(=\) \({n - 1}\brack {m - 1}\) \(+(n - 1) \times\) \({n - 1}\brack{m}\)
\(x^{\underline n} = \sum_{i = 0}^n s_s(n, i) x^i\)
\(x^{\overline n} = \sum_{i = 0}^n s_u(n, i) x^i\)
\(n\brace m\) \(=\) \({n - 1}\brace {m - 1}\) \(+m\times\) \({n - 1}\brace m\)
\(n\brace m\) \(=\) \(\frac 1{m!}\sum_{i = 0}^m (-1)^{m - i}\binom mi i^n\)
\(x^n = \sum_{i = 0}^n S(n, i)x^{\underline i}\)
第一类斯特林数行:对于第 \(n\) 行其生成函数就是 \(x\) 的 \(n\) 次上升幂,可以暴力分治 \(nlog^2n\) 求。
第一类斯特林数列:单个轮换的生成函数是 \(F(x) = \sum_{i = 1}^n (i-1)! \dfrac{x^i}{i!}\),做多项式 \(n\) 次幂,就是 \(i\brack n\) 的 EGF
第二类斯特林数行:通项公式是卷积的形式,\({n\brace m} = \frac{1}{m!}\sum_i (-1)^{m-i}\binom mi i^n\)
第二类斯特林数列:单个的生成函数是 \(F(x) = \sum_{i = 1}^{\infin} \dfrac{x^i}{i!}=e^x-1\),仍然做 \(n\) 次幂,就是 \(i\brace n\) 的 EGF。
斯特林数反演:\(f(n) = \sum_{k} {n\brace k}g(k) \Leftrightarrow g(n) = \sum_{k} (-1)^{n-k} {n\brack k}f(k)\)
点值表达式和下降幂
点值的 EGF = 下降幂多项式系数的 OGF × e^x
牛顿级数
可以方便地推一些柿子
\(f(x)=\sum c_i\binom xi\)
数论
CRT:自己推。
Wilson定理:\((p-1)!\equiv-1 \pmod p\)
Lucas:\(\binom nm=\binom{n/prime}{m/prime}\binom{n\bmod prime}{m\bmod prime}\) 。对于 \(p=2\) 的情况,有 \(\binom nm=[m\in n]\)。扩展 lucas 的思想是拆成每一个质因子求答案然后 CRT 合并,对于每一个质因子,把数字 p 的幂次拆掉然后递归做之类。
积性函数
注意,当 \(C\) 是完全积性函数的时候,\((A\cdot C)*(B\cdot C)=(A*B)\cdot C\)
- \(\mu * I=\epsilon\)
- \(\phi * I=id\)
- \(\frac {\phi(n)}n= \sum_{d|n}\frac{\mu (d)}d\)
- \(\sum_i\sum_j [(i,j)=1]=\sum_i 2\phi(i)-1\)
- \(d=I*I=\sum_{d|n}1\)
- \(\sigma=id*I\), \(\sigma_k=id*I_k\)
- \(\mu(ij)=\mu(i)\mu(j)[i\perp j]\)
- \(d(ij)=\sum_{x|i}\sum_{y|j}[x\perp y]\)
- \(\phi(ij)=\dfrac{\phi(i)\phi(j)(i,j)}{\phi((i,j))}\)
- \((\mu\cdot id_k)*id_k=\epsilon\)
- \((\phi\cdot id_k)*id_k=id_{k+1}\)
杜教筛:欲求 \(sf\),构造 \(g\),使得 \(h=f*g\) 比较优雅(注意都得是积性函数,不然线筛不了)。有 \(\sum_i h(i)=\sum_{d}g_dsf(\lfloor \frac{n}d \rfloor)\),然后再移项就可以,注意预处理 \(\sqrt(n)\) 的答案以保证复杂度。
PN 筛:杜教筛的扩展,进行素数拟合使得 \(g(p)=f(p)\),然后令 \(h=f/g\)。可以知道 \(h(1)=1,h(p)=0\),那么 \(h\) 有值的位置都是 PN。所以 \(\sum f(i)=\sum_{d \in PN} h(d)sg(n/d)\),\(sg\) 可以筛出来,然后 PN 可以 \(\sqrt n\) 暴力搜索,问题在于 h。由于 \(h\) 是积性函数,所以问题在于求所有 \(h(p^c)\),这个也可以暴力枚举。
min25 筛:不会。
LGV
\(\omega(P)\) 表示 \(P\) 这条路径上所有边的边权之积。(路径计数时,可以将边权都设为 \(1\))(事实上,边权可以为生成函数)
\(e(u, v)\) 表示 u 到 v 的 每一条 路径 \(P\) 的 \(\omega(P)\) 之和,即
\(e(u, v)=\sum\limits_{P:u\rightarrow v}\omega(P)\)。
起点集合 A,是有向无环图点集的一个子集,大小为 n。
终点集合 B,也是有向无环图点集的一个子集,大小也为 n。
一组 \(A\rightarrow B\) 的不相交路径 S:S_i 是一条从 A_i 到 B_{\sigma(S)_i} 的路径(\sigma(S) 是一个排列),对于任何 i\ne j,S_i 和 S_j 没有公共顶点。
t(\sigma) 表示排列 \sigma 的逆序对个数。
LGV 引理:
矩阵树定理:
计算的是 \(\sum_T\prod_{e\in T} w_e\)。
无向图:度数矩阵-邻接矩阵 去掉第 n 行列的行列式
有向图:入度矩阵-邻接矩阵 -> 外向树;出度 -> 内向树;根在 x,去掉 x 行列
可以处理重边。
求边权和: 省选联考 2020 A 作业题 经典技巧,令 \(w_e = w_ex + 1\),边权和是一次项系数,重定义 pair 加减乘除即可。