拉格朗日反演学习笔记

死前学一下。

基本形式与证明

两个形式:拉格朗日隐函数定理与拉格朗日反演公式

拉格朗日隐函数定理-LIFT:许多组合问题中的生成函数 \(F\) 满足某种自递推的关系 \(G\),此时可以应用该定理。

给定形式幂级数 \(G\),存在唯一的 \(F\) 使得 \(F = zG(F)\)。这样的 \(F\) 满足:

\[[z^n]F = \frac{1}{n}[z^{n-1}]G^n \]

其中 \(n\in\mathbb{Z^+}\)。它的一个扩展形式是:

\[[z^n]H(F) = \frac{1}{n}[z^n]zH'G^n \]

拉格朗日反演公式:简单来说是一种求算复合逆的工具。

假设 \(G\) 存在复合逆(当且仅当 \([z^0]G = 0\land[z^1]G\neq 0\)),则对于 \(G\) 的复合逆 \(F\),有:

\[F = z\cdot\frac{F}{z} = z(\frac{F}{G(F)}) \]

即令 \(R = \frac{z}{G}\) 时,\(F = zR(F)\)。所以由 LIFT 可得:

\[[z^n]F = \frac{1}{n}[z^n]z(\frac{z}{G})^n = \frac{1}{n}[z^{-1}]G^{-n} \]

一般把它写成 \(n[z^n]F = [z^{-1}]G^{-n}\)。它同样具有类似的扩展形式:

\[[z^n]H(F) = \frac{1}{n}[z^{-1}]H'G^{-n} \]

A. 代数推导

注意拉格朗日反演公式拉格朗日隐函数定理实际上是等价的(包括扩展形式),只需要简单地将一个中的 \(G_1\) 用另一个中的 \(\frac{z}{G_2}\) 代换即可,因此证明时也只需证明一个。(扩展)拉格朗日反演公式的代数证明比较简单,下面给出:

引理:对于有复合逆的幂级数 \(F\)\([z^{-1}]F'F^k = [k=-1]\)

  • \(k \neq -1\)\(F'F^k = (\frac{1}{k+1}F^{k+1})'\),而任意幂级数求导不产生 \(-1\) 次项。

  • \(k=-1\)\([z^{-1}]F'F^{-1} = [z^{0}]\frac{F'}{F/z} = 1\)

不妨考虑扩展形式中 \(H(z) = z^k(k\neq 0)\) 时的情形,其他幂级数作为其线性组合容易一并导出。即要证 \(n[z^{n}]F^k = [z^{-1}]kz^{k-1}G^{-n} = k[z^{-k}]G^{-n}\),下证:

\[\begin{aligned} k[z^{-k}]G^{-n} &= [z^{-1}]G^{-n}(kz^{k-1}) = [z^{-1}]G^{-n}(F(G)^k)'\\ &= [z^{-1}]\sum_{i}G'G^{i-n}\cdot([z^i](F^k)')\\ &= [z^{-1}]\sum_{i\neq 0}G'G^{i-1-n}\cdot(i[z^i]F^k)\\ &= n[z^n]F^k\\ \end{aligned} \]

证毕。

B. 组合意义

这里证明的是拉格朗日隐函数定理,这背后的深刻原因是因为 xyix 只写了这个。

将涉及到的函数视为 EGF。根据 \(F = zG(F)\) 可以这样构造:如果某节点 \(u\) 的度数(即直接子节点数)为 \(t\),则令其权值 \(w(u) = [\frac{z^t}{t!}]G\),而令一棵树的权值为所有节点权值的乘积,那么所有树的生成函数为 \(F\)。接下来指定根节点 \(0\),使 \(0\) 的权重是 \([\frac{z^t}{t!}]H\),其中 \(t\) 仍然表示度数;\(0\) 下面的子树按照上述方法计算权重。则左式 \([z^n]H(F)\) 就是所有大小为 \(n+1\) 的这样的树的权值和。计数这样的树,可以采用 Prufer 序列。假设其中有 \(m_i\) 个度数为 \(i\) 的非 \(0\) 点,\(0\) 的度数为 \(k\) ,这样的树有

\[\frac{(n-1)!}{(k-1)!\prod_i m_i!}\binom{n}{m_1,m_2,\dots} \]

注意到并不需要枚举有根树 Prufer 序列的最后一位,因为根已经确定为 \(0\)

右式可以改写为 \(\frac{1}{n}[z^n](zH')G^n\)。忽略掉前面的 \(\frac{1}{n}\),它的组合意义比较简单,它是一个长度为 \(n\),值域为 \([0, n]\) 的序列,其中 \(0\) 的出现次数为 \(t\) 时权值为 \(t[z^t]H\),其他元素则为 \([z^t]G\)。和上面同样,假设其中有 \(m_i\)\(i\)\(k\)\(0\),这样的序列有

\[\frac{n!}{k!\prod_i m_i!}\binom{n}{m_1,m_2,\dots} \]

这么多。注意到当枚举的 \(k\)\(m\) 序列均相同时,右式对应的序列的权值恰好是左式对应树的 \(k\) 倍,比较两式,并对所有可能的 \(k\)\(m\) 序列求和即得证。

应用

考虑到我刚学会还是咕一会。

posted @ 2024-02-27 21:16  kyEEcccccc  阅读(136)  评论(0编辑  收藏  举报