拉格朗日反演

一、复合

\(F(x)\)\(G(x)\) 的复合,记作 \(F \circ G = F(G(x))\)

二、复合逆

\(F(x)\)\(G(x)\) 都是常数项为 \(0\),一次项系数非 \(0\) 的形式幂级数。

\[F \circ G = x \Longleftrightarrow G \circ F = x \]

证明:

\[\exists H, H \circ F = x \]

\[\because F \circ G = x \]

\[H(F(G(x))) = H(x) = G(x) \]

\[\therefore H = G, G \circ F = x \]

由此可以定义若 \(F \circ G = x\),则称 \(F\)\(G\) 互为复合逆。

三、拉格朗日反演

\(F(x)\)\(G(x)\) 为两个互为复合逆,常数项为 \(0\),一次项系数不为 \(0\) 的形式幂级数。

  • 形式一:

\[[x ^ n] F ^ k (x) = \dfrac{k}{n} [x ^ {-k}] G ^ {-n}(x) \]

  • 形式二:

\[[x ^ n] F ^ k (x) = \dfrac{k}{n} [x ^ {n - k}] {\left( \dfrac{x}{G(x)} \right)} ^ n \]

  • 扩展拉格朗日反演:

    • \(H\) 为任意一个形式幂级数,将形式二线性组合可得:

\[[x ^ n] H(F(x)) = \dfrac{1}{n}[x ^ {n - 1}] H'(x){\left(\dfrac{x}{G(x)}\right)} ^ n \]

  • 另类拉格朗日反演:

    • EI 科技,无需对 \(n\) 求逆,对 \(H\) 求导:

\[[x ^ n] F ^ k (x) = [x ^ {n - k}] G'(x) {\left(\dfrac{x}{G(x)}\right)} ^ {n + 1} \]

\[[x ^ n] H(F(x)) = [x ^ n]H(x)G'(x){\left(\dfrac{x}{G(x)}\right)}^{n + 1} \]

四、如何求解复合逆

对于一个形式幂级数的封闭形式,例如 \(\ln(1 - x)\),直接解方程即可。

对于一个方程,将等式一边只留下一个 \(x\),另一边的 \(F\) 全部换成 \(x\) 即为复合逆。

五、例题

例题一:P4430 小猴打架

题意可以转化为求 \(n\) 个点带标号无根树的数量 \(\times (n - 1)!\) 的结果。

问题变成如何求 \(n\) 个点带标号无根树数量。

\(F(x)\) 表示答案的 EGF,\(F = x \exp(F)\)

\(F\) 的复合逆 \(G\)\(\dfrac{x}{e ^ x}\)

\[[x ^ n] F(x) = \dfrac{1}{n}[x ^ {n - 1}] {\left(\dfrac{x}{G(x)}\right)} ^ n \]

\[[x ^ n] F(x) = \dfrac{1}{n} [x ^ {n - 1}] e ^ {nx} = n ^ {n -2} \]

所以答案为 \(n ^ {n - 2} \times (n - 1)!\)

例题二:[ABC222H] Beautiful Binary Tree

考虑如何判断一棵二叉树是否为美丽的 \(n\) 阶二叉树。

  • \(n\) 个点数字为 \(1\)

  • 根节点数字为 \(1\),因为每个数字为 \(1\) 的节点都有且仅有一次操作。

  • 不存在相邻两个数字为 \(0\) 的点,若存在,则一定有数字为 \(1\) 的点需要操作 \(> 1\) 次,不合法。

所以充要条件如上所述。

\(f_{n, 1}\) 表示美丽的 \(n\) 阶二叉树的数量。

\(f_{n, 0}\) 表示根节点为 \(0\),以根节点的儿子节点为根的子树为美丽二叉树,一共 \(n\) 个节点数字为 \(1\) 的二叉树的数量。

\[f_{n, 0} = 2f_{n, 1} + \sum_{i = 1} ^ {n - 1} f_{i, 1} f_{n - i, 1} \]

\[f_{n, 1} = 2(f_{n - 1, 1} + f_{n - 1, 0}) + \sum_{i = 1} ^ {n - 2} (f_{i, 0} + f_{i, 1})(f_{n - 1 - i, 0} + f_{n - 1 - i, 1}) \]

边界 \(f_{1, 0} = 0, f_{1, 1} = 1\),定义 \(f_{0, 0/1} = 0\)

\(F_0 = \sum_{n \ge 0} f_{n, 0} x ^ n, F_1 = \sum_{n \ge 0} f_{n, 1} x ^ n\)

\[F_0 = 2F_1 + {F_1}^2 \]

\[F_1 = x + 2x(F_0 + F_1) + x{(F_0 + F_1)} ^ 2 \]

\[F_1 = x{(F_0 + F_1 + 1)} ^ 2 = x{({F_1} ^ 2 + 3F_1 + 1)} ^ 2 \]

\(F = F_1\)\(F\) 的复合逆 \(G\)\(\dfrac{x}{{(x ^ 2 + 3x + 1)} ^ 2}\)

\[[x ^ n] F(x) = \dfrac{1}{n} [x ^ {n - 1}] {\left(\dfrac{x}{G(x)}\right)} ^ n \]

\[[x ^ n] F(x) = \dfrac{1}{n} [x ^ {n - 1}] {(x ^ 2 + 3x + 1)} ^ {2n} \]

\[= \dfrac{1}{n} [x ^ {n - 1}] \sum_{i = 0} ^ {2n} \binom{2n}{i} x ^ {2i} \sum_{j = 0} ^ {2n - i} \binom{2n - i}{j} 3 ^ j x ^ j \]

\[= \dfrac{1}{n} \sum_{i = 0} ^ {2n} \sum_{j = 0} ^ {2n - i} [2i + j = n - 1] \binom{2n}{i} \binom{2n - i}{j} 3 ^ j \]

\[= \dfrac{1}{n} \sum_{i = 0} ^ {\lfloor\frac{n - 1}{2}\rfloor} \binom{2n}{i} \binom{2n - i}{n - 1 - 2i}3 ^ {n - 1 - 2i} \]

时间复杂度 \(\Theta(n)\)

posted @ 2023-07-25 23:52  Fido_Puppy  阅读(229)  评论(0编辑  收藏  举报
Title