数学杂项
Taylor 展开
还是很重要的一个东西。
有这玩意可以推非常好的两个式子,即:
直接 Taylor 展开就能推出来:
广义二项式定理
当 \(n\) 不为自然数时,此式将失效,接下来我们用 Taylor 展开来推出在实数域上的二项式定理。
\(\dfrac{n^{\underline{k}}}{k!}\) 也即广义组合数。
普通型生成函数(OGF)
我们现在有一个序列 \(a_i\),其生成函数就是以 \(a_i\) 为每项系数的多项式。当生成函数类型不同时,多项式的形式也不同。
在 OGF 中,我们有:
必须使 \(F(x)\) 是收敛的。在这里,\(x\) 没有实际的意义。
一些关于 \(a\) 的计数,我们可以通过对 \(F\) 进行卷积来加速运算。
这里的 \(a_i\) 定义,基本上是 XX 选 \(i\) 个的方案数,当方案数为 \(1\) 时,有一些特殊的性质,下文会涉及到。
以下生成函数,如果没有特殊说明,都为 OGF。
指数型生成函数(EGF)
OGF 只能用于无序的计数,如果需要有序,我们得引入 EGF。在一般情况下,EGF 可以被理解为序列染色。
在 EGF 和其他生成函数同时使用时,我们会用 \(\hat F\) 来区分。由于 OGF 和 EGF 的适用范围基本仅仅区别于有无序,所以这里放在一起。
依我自己的理解,EGF 是计算同种颜色之间不区分顺序,异种颜色之间区分顺序的。
计算这种可重排列,其假设各颜色用的个数为 \(c_1,c_2\dots c_k\),则方案数为 \(\dfrac{(\sum c)!}{\prod c_i!}\)。我们将这里的 \(c_i!\) 放在 OGF 中提前处理掉,就变成了 EGF。
k 阶前缀和
给定长度为 \(n\) 的序列,求其 \(k\) 阶前缀和。
设原序列生成函数为 \(F(x)=\sum\limits_{i=0}^{\infty} a_ix^i\)。
我们将 \(b_i=\sum a_j\) 用卷积的形式表示,即 \(b_i=\sum\limits^{i}_{j=0}a_jt_{i-j}\)。
显然,\(t\) 是一个全 \(1\) 序列,其生成函数即为 \(G(x)=\sum\limits^{\infty}_{i=0} x^i\),其封闭形式很容易得出为 \(\dfrac{1}{1-x}\)。
所以 \(k\) 阶前缀和相当于 \(F(x),G(x)\) 卷 \(k\) 次,设 \(B(x)\) 为答案序列,我们有 \(B(x)=F(x)*G(x)^k=F(x)*(1-x)^{-k}\)
直接使用广义二项式定理,我们有:
直接卷 \(F\) 和 \(G\) 的前 \(n\) 项即可。
这里我们还能扩展一个非常有用的东西,对于 \((\dfrac{1}{1-x})^k\),相当于 \((\sum\limits^{\infty}_{i=0} x^i)^k\),它的第 \(n\) 项系数,即为将 \(n\) 个无序号点分为 \(k\) 份,每份不空。
这就是隔板法,相当于 \(\binom{n+k-1}{k-1}\)。
"半环图"计数
求 \(n\) 个点 \(m\) 条边的简单无向图(可以不连通)满足加入非负整数条边后可以变成 \(n\) 个点的环的个数。
这里我们只考虑 \(n\geq m\) 的情况。
设 \(n-m=k\),则无向图是由 \(k\) 条链组成的。在这里,我们我们需要注意的是,链的内部是有序的,而链与链之间是无序的。
看到有序,我们直接考虑 EGF,这里先假设链与链之间也是有序的,我们不妨设 \(a_i\) 表示将 \(i\) 个有标号的点串成一条链的方案数,即:
特殊的,当 \(i=1\) 时,\(a_i=1\)。
然后对于选择进入一条链的点是无序的。不是同一条链的点是有序的,直接使用 EGF。
开始推式子:
那么 \(k\) 条链相当于 \(\hat F(x)^k\)。我们将其表示出来:
一项一项提,对于 \([a_p](1-\frac{x}{2})\),我们直接广义二项式展开,即 \(\binom{k}{p}(-\frac{1}{2})^p x^p\)。
对于 \([a_p]\frac{1}{(1-x)^k}\) ,这很典,即 \(\binom{p+k-1}{k-1}x^p\)。
然后想要 \(F(x)^k\) 的 \(n\) 次项,我们需要让三部分的次数和为 \(n\),枚举分子的次数 \(i\),则分母为 \(n-k-i\)。
然后直接算即可。因为是 EGF,答案要乘 \(n!\),同时我们刚才将链之间也算成了有序,所以还要除以 \(k!\)。
生成函数的伸缩、平移
平移
-
向右平移,只需要乘 \(x^k\) 即可。
即,\(F(x)=\sum_{i\geq 0} a_i x^i \to x^kF(x)=\sum_{i\geq 0} a_i x^{i+k}\)
-
向左平移,同理都除以 \(x^k\),注意移去前 \(k-1\) 项。
伸缩
非常符合常理,非常优美的形式。
即,\(F(x)=\sum_{i\geq 0} a_i x^i \to F(x^k)=\sum_{i\geq 0} a_i x^{ik}\)
单位根反演看不懂 qwq。