数学总结
未完待续
看起来很暴力、很丑陋的式子不一定是没有前途的。(比如反射容斥、ARC120F Wine Thief、OIFC 260119 T1)
拆贡献
遇到求和式,可以考虑拆贡献。
特殊形式
转为概率形式即(例:AGC032F One Third)
组合计数
part0
区间长度倍贡献
在区间中加入一个点,则这个点位置数量刚好是区间长度。
ABC225H Social Distance 2
以 \(k=0\) 为例,区间长度连乘再求和,先给每一个区间中加入一个点,使长度为 \(B_{i+1}-B_i\),再在区间里多选一个点。原问题等价于 \(N+M-1\) 个点,选 \(M+M-1\) 个,求方案数,答案为
序列选点
给一个长 \(n\) 序列,要选 \(m\) 点,有限制。
考虑插板法或类插板法技巧。
可重复
即可重复组合数,考虑插板法。把元素和缝隙的地位交换,变为 \(n-1\) 个元素,划分成 \(m+1\) 段,段可以为空。这是经典问题,先加进来 \(m+1\) 个元素,变为每段不可为空,在删去每段首个元素,这是一一对应的。答案为
间距 \(\ge d\)
这里认为相邻间距为 \(0\)。与每段可空插板法类似,先去掉 \((m-1)d\) 个元素,再加回来。答案为
图论计数
零度点容斥
主旋律
矩阵树定理
鸽了。
容斥原理
做容斥时,一定要确定对象和目标,不然会死的很惨。注意:容斥时带不带组合数,要枚举几个变量,区分要求的是 \(0\)、非 \(0\)、恰为 \(i\)……
对于“钦定-恰好”类容斥,如果方案有权值,且在不同钦定方法下算出来的权值不一样,容斥做不了,需要 GF(可参考案例 1)。
标准容斥
二项式反演
使用二项式反演时,一定要确认 \(j\) 在 \(i\) 处被统计次数是否为 \(\binom{j}{i}\)(或 \(\binom{i}{j}\))。
类型 1
这类比较少见,因为很多情况下 \(j\) 对 \(i\) 的贡献不是 \(\binom{i}{j}\)。
有 \(f_i=\sum\limits_{j=0}^i\binom{i}{j}g_j\),则 \(g_i=\sum\limits_{j=0}^i\binom{i}{j}(-1)^{j-i}f_j\)。
???+ 例:错排问题
\(f_i\) 表示 \(i\) 个数最多错排 \(i\) 个,即任意排列方案数;\(g_i\) 表示 \(i\) 个数错排方案数。
反演可得
???-
类型 2
组合意义为钦定-恰好。
有 \(f_i=\sum\limits_{j=i}^n\binom{j}{i}g_j\),则 \(g_i=\sum\limits_{j=i}^n\binom{j}{i}(-1)^{j-i}f_j\)。
子集反演/子集容斥
与二项式反演异曲同工,如果对相同大小的集合求和即为二项式反演(特别地,如果相同大小的集合权值相同,可直接变为二项式反演)。
类型 1
有 \(f_S=\sum\limits_{T\subseteq S}g_T\),则 \(g_S=\sum\limits_{T\subseteq S}(-1)^{|S|-|T|}f_T\)
类型 2
更准确地说应该叫超集反演(?
有 \(f_S=\sum\limits_{S\subseteq T}g_T\),则 \(g_S=\sum\limits_{S\subseteq T}(-1)^{|T|-|S|}f_T\)
接下来是一些常见案例
案例 1:序列分段
例题:ARC134F Flipping Coins,P7275 计树
把序列划分成若干段,相邻两段合并为一个大段的情况会被重复统计。可以容斥(二项式反演),也可以 GF。
容斥时,一定要对 相邻同组元素 数量容斥。
???+ 为什么不能对分割点/段数容斥
考虑第一类二项式反演的前提 \(f_i=\sum\limits_{j=0}^i\binom{i}{j}g_j\),当前背景下,小的 \(j\) 对大的 \(i\) 贡献系数不是 \(\binom{i}{j}\),而是 \(\binom{n-j}{n-i}\)(可自行带入 \(i=1,j=0\) 验证),故不行。
???-
当分段有限制、方案有权值等容斥做不动的情况时,就要用 GF 形式,有一个前提条件是段之间的贡献为乘法关系。
???+ 做法
注意到一个划分方案会在所有子划分方案(某些段被进一步划分)中被统计 \(\textbf{1 次}\)。因为贡献为乘法形式,段之间独立,设每一段贡献系数关于段长生成函数为 \(F(x)\),容斥系数关于段长的生成函数为 \(G(x)\),则
解得
把 \(G\) 按题目背景组合起来即可。
???-
多项式与生成函数
裂项
面对有理式取某一项,考虑裂项,因为有理式 D-Finite,所以有时候题解说 D-Finite 指的就是去裂项。
对
将 \(h(x)\) 因式分解为 \(p(x)q(x)\),令
注意裂项的系数不一定为 1:1,这在数学中不太常见。
待定系数解出 \(A,B\) 即可,一般与 \(x\) 无关(可能是可以说明必然无关的)。
典例:斐波那契数列通项公式
斯特林数、伯努利数、自然数幂求和
我们喜欢用关于 \(k\) 的 EGF。
学习自本文。
集合幂级数
设哑元
当不同位置求和时,可用 \(t^i\rightarrow a_i\)。
ARC120F、ARC120F2
分式求通项
把分母因式分解为 \(\prod (r_i-x)^{k_i}\),再裂项,变为若干简单分式求和。
例:斐波那契数列通项公式、本文
模特殊多项式环
例:联考 260223
对于 \(\mod (x^k-1)\) 的多项式卷积,可以用单位根插值,即求出 \(f(\omega_k),f(\omega_k^2),\dots,f(1)\),用单位根反演插回去,对于 \(k\) 为 \(2\) 幂的情况,可进一步写成 fft/ntt(fft/ntt 的本质就是单位根插值)。
杂项
一
对于一个生成函数 \(F(x)=\sum\limits_{i=0}^{\infty}f_ix^i\),有
???+ 证明
???-
数论
单位根反演
???+ 证明
若 \(k\mid n\),分子分母均为 \(0\),代入原式得到 \(1\)。
否则,分子为 \(0\),分母不为 \(0\),原式 \(=0\)。
???-
“小学奥数”
一
???+ 证明一(等比数列求和)
???-
???+ 证明二(循环小数)
只需证 \(n=1\),其他情况提公因数 \(n\)。
则
解得
???-
二
在小学奥数中,我们知道 \(n\text{ mod }9\) 等于 \(n\) 各位数求和模 \(9\)
推广一下:
???+ 证明
设 \(a_i=\left\lfloor\frac{n}{10^{id}}\right\rfloor\text{ mod }10^d\),则
???-

浙公网安备 33010602011771号