「一个经典问题的另一个推导方法」

我承认,标题有些谜语人。主要是怕搜索引擎乱抓导致黑历史暴露。


众所周知 \(n\) 个点的无根有标号树有 \(n^{n - 2}\)

众所周知这个结论的证法很多,其中一个是使用拉格朗日反演

设有标号有根树的 EGF 为 \(T(x)\),有方程 \(T = x(\sum_{i\geq 0} \frac{T^i}{i!}) = x\exp T\)

\(G(x) = x /\exp x\),则 \(G(T) = x\),即 \(G\)\(T\) 的复合逆。

由反演,\([x^n]T = [x^n]x(x/G)^{n + 1}G' = n^{n-1}/n!\)

得到有根树为 \(n^{n - 1}\),则无根树为 \(n^{n - 2}\)


众所周知将 \(m\) 个大小为 \(a_1, \dots, a_m\) 的树连成一个 \(n\) 个点无根树的方案数为 \(n^{m - 2}\prod a_i\)

众所周知这个结论的证法很多,其中一个是使用扩展拉格朗日反演

下尝试用扩展拉格朗日反演证一下这个结论 当然是不会去证扩展拉格朗日反演的

实际上众所周知,扩展拉格朗日反演与 prufer 序列和矩阵树定理关系都非常密切,所以三种证法本质等价(瞎说)。


首先给出一些记号。

下将 \(G(x_1, x_2, \dots, x_m)\) 简记成 \(G(\mathrm x)\)

下将 \(x_1^{k_1}x_2^{k_2}\dots x_{m}^{k_m}\) 简记成 \(\mathrm x^{\mathrm k}\)

在多元 GF 下复合逆这一概念并不良定义。因此,取而代之的,我们定义一组树形复合方程

\[F_1 = x_1G_1(F_1, F_2, \dots, F_m) = x_1G_1(\mathrm F) \\ F_2 = x_2G_2(F_1, F_2, \dots, F_m) = x_2G_2(\mathrm F) \\ \dots \\ F_m = x_mG_m(F_1, F_2, \dots, F_m) = x_mG_m(\mathrm F) \\ \]

树形复合方程确实和树有关系。

具体来说,我们所考虑的对象是有 \(m\) 种结点的有根树。则 \(F_i\) 可以看成以第 \(i\) 种结点为根时对应的有根树。

下当 \(A = (a_{i,j})\) 时将 \(\det A\) 记成 \(\left|\left|a_{i, j}\right|\right|\)

给出定理:

\[[\mathrm x^{\mathrm k}]H(\mathrm F) = [\mathrm x^{\mathrm k}]H(\mathrm x)\times \mathrm G^{\mathrm k}\times \left|\left|[i = j] - \frac{x_j\frac{\part G_i}{\part x_j}}{G_i(\mathrm x)}\right|\right| \]

注意字体与其代表的含义,比如 \(\mathrm G^{\mathrm k}\) 实际上是 \(G_1^{k_1}G_2^{k_2}\dots G_{m}^{k_m}\)


现在来证明,首先转化成算有根树除以 \(m\)

\(F_i\) 表示以第 \(i\) 种点为根的 EGF,此时一条边会产生两端 \(a\) 乘积的贡献,因此得到方程:

\[F_i = x_i\exp\left(\sum_{j = 1}^m a_ia_jF_j\right) \]

也即 \(G_i = \exp(\sum_{j = 1}^m a_ia_jx_j)\)

最后每种点仅出现一次,那么取 \([\mathrm x](\sum_{i = 1}^m F_i)\) 即为答案。使用反演:

\[\begin{aligned}[] [\mathrm x]\left(\sum_{i = 1}^mF_i\right) &= [\mathrm x]\left(\sum_{i = 1}^mx_i\right)\times \left(\prod_{i = 1}^m\exp\left(\sum_{j = 1}^m a_ia_jx_j\right)\right)\times \left|\left|[i = j] - \frac{x_ja_ia_j\exp(\sum_{j = 1}^m a_ia_jx_j)}{\exp(\sum_{j = 1}^m a_ia_jx_j)}\right|\right| \\ &= [\mathrm x]\left(\sum_{i = 1}^mx_i\right)\times \exp \left(\sum_{i = 1}^{m}\sum_{j = 1}^{m}a_ia_jx_j\right)\times \left|\left|[i = j] - a_ia_jx_j\right|\right| \end{aligned} \]

搞一搞行列式:

\[\begin{aligned} \begin{vmatrix} 1-a_1^2x_1 & -a_1a_2x_2 & \dots & -a_1a_nx_n \\ -a_2a_1x_1 & 1-a_2^2x_2 & \dots & -a_2a_nx_n \\ \vdots & \vdots & \ddots & \vdots \\ -a_na_1x_1 & -a_na_2x_2 & \dots & 1-a_n^2x_n \\ \end{vmatrix} = \begin{vmatrix} 1-a_1^2x_1 & -a_1a_2x_2 & \dots & -a_1a_nx_n \\ -a_2/a_1 & 1 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ -a_n/a_1 & 0 & \dots & 1 \\ \end{vmatrix} = \begin{vmatrix} 1-\sum_{i = 1}^{m}a_i^2x_i & -a_1a_2x_2 & \dots & -a_1a_nx_n \\ 0 & 1 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & 1 \\ \end{vmatrix} \end{aligned} \]

将结果 \(1 - \sum_{i = 1}^m a_i^2x_i\) 再代回去:

\[\begin{aligned}[] [\mathrm x]\left(\sum_{i = 1}^mx_i\right)\times \left(\prod_{j = 1}^m\exp\left(na_jx_j\right)\right)\times \left(1 - \sum_{i = 1}^m a_i^2x_i\right) \end{aligned} \]

如果最后一项取 \(1\),则得到 \(n^{m - 1}(\prod_{i = 1}^m a_i)(\sum_{i = 1}^m1/a_i)\)

否则,得到 \(-n^{m - 2}(\prod_{i = 1}^m a_i)(\sum_{i = 1}^m\sum_{j = 1,j\neq i}^ma_j/a_i) = -n^{m - 2}(\prod_{i = 1}^m a_i)(\sum_{i=1}^{m}n/a_i - m)\)

因此得到最终结果 \(mn^{m - 2}(\prod_{i = 1}^m a_i)\)

别忘了除以 \(m\),得到形式 \(n^{m - 2}(\prod_{i = 1}^m a_i)\),证完了。

这还要搞行列式,和矩阵树定理没啥差别啊。

posted @ 2021-06-03 16:27  Tiw_Air_OAO  阅读(508)  评论(0编辑  收藏  举报