二项式反演 + 生成函数

生成函数

简单来说,一个生成函数对应的也就是一个多项式。

生成函数就是附加到多项式的系数上的数列。也就是说,这个数列上的每一个数对应着多项式的一个系数。

其实就是形如 \(f(x)=a_0 + a_1x + a_2x^2 + \dots + a_nx^n\)

这个东西可能可以化简并求和。

举个例子:

假设 \(n\) 为一个定值,那么 \((x+1)^n\) 就是组合数 \(\binom{n}{0},\binom{n}{1},\binom{n}{2},\dots,\binom{n}{n}\) 的生成函数。

生成函数的序列长度长度不一定是有限的,也有可能是无限的。

那么长度为无限的生成函数对应的序列长度也就是无限的,但也有可能可以化简求值。

依然举个例子:

对于数列 \(1,1,\dots,1,\dots\)(这里为无限的长度)的生成函数为:

\(1 + x + x^2 + \dots + x^n + \dots = \frac{1}{1-x}\)

基本运算

两个函数的线性组合对应于两个序列的线性组合。

对于下面式子,也就是两个多项式分别乘上了一个常数(\(a,b\)),那么最后的答案也就是 两个多项式的系数(\(f_i,g_i\))分别乘上那个常数并相加,还要带上 \(x^i\)

\[aF(x) + bG(x) = \sum_i (af_i+bg_i)x^i \]

那么对于一个生成函数 \(F(x)\) 乘以 \(x^m\) 就相当于右移 \(f(x)\ m\) 项。

\[x^mF(x) = \sum_i f_{i-m}x^i \]

函数的乘积对应序列的卷积:

\[F(x)G(x) = \sum_i (\sum_j f_jg_{i-j})x^i \]

序列的前缀和:

\[\frac{1}{1-x}F(x) = \sum_i(\sum_{j \le i} f_j) x^i \]

函数求导与积分

\((x^n)' = nx^{n-1} \ (n \in R)\)

\(\ln' x = \frac{1}{x}\)

积分在简单来说就是求导的逆运算。

函数求导运算

求导是具有线性的: \(a,b\) 为常数, \(f,g\)关于 \(x\) 的函数,则 \((af+bg)' = af'+bg'\)

加法与乘法显然是满足交换律的。

乘法法则:\(f,g\)关于 \(x\) 的函数\((f \times g)' = f \times g' + f' \times g\)

除法法则:\(f,g\)关于 \(x\) 的函数\((f \div g)' = \frac{f' \times g - f \times g'}{g^2}\)

复合函数求导法则:

\(f\) 为关于 \(g\) 的函数,且 \(g\) 是关于 \(x\) 的函数,则 \(f\)\(x\) 求导为:

\[\frac{df}{dx} = \frac{df}{dg} \cdot \frac{dg}{dx} \]

依旧举例子:

\(f(x)=\frac{1}{(1-x)^n}\)\(x\) 求导:

\[\begin{gather*} g(x) = 1 - x, \quad f = g^{-n} \\ \frac{df}{dx} = \frac{df}{dg} \cdot \frac{dg}{dx} = (-n)g^{-(n+1)} \cdot (-1) = \frac{n}{(1-x)^{n+1}} \end{gather*} \]

进阶运算

变量代换:

\[F(ax) = \sum_i a^if_ix^i \]

微分:

\[\begin{split} & F'(x) = \sum_i(i+1)f_{i+1}x^i \\ & xF'(x) = \sum_i if_ix^i \end{split} \]

积分:

\[\int F(x)dx = \sum_{i \ge 1} \frac{f_{i-1}}{i}x^i \]

二项式反演

反演的本质

一句话概括:矩阵求逆。

假设在 \(f(n) = \sum_\limits{i=0}^{n} a_{n,i} g(i)\) 中, \(a_{n,i}\) 是已知的。

我们就想要得到 \(g(n) = \sum\limits_{i=0}^n b_{n,i} f(i)\) 的形式并解出 \(b_{n,i}\)

把上面两个式子写成矩阵的形式可以发现,\(A, B\)两个矩阵是可逆的。

下面有

posted @ 2026-08-20 19:46  OiLight  阅读(10)  评论(0)    收藏  举报