do_while_true

一言(ヒトコト)

拉格朗日反演推导扩展Cayley公式

萌新初学拉格朗日反演,这个看起来很对所以应该是对的吧?


\(n\) 个点连成有 \(k\) 棵树的森林,并且要求 \(1,2,\cdots,k\)\(k\) 个点两两不在同一棵树的方案数。

首先通过看错题求个连成 \(k\) 棵有根树的个数,并且树和树之间有顺序。

\(T\) 有标号有根树的 EGF,则 \(T=ze^T\),答案即为 \(n![z^n]T^k\)

拉格朗日反演。

\(T\) 的复合逆 \(G=\frac{z}{e^z}\),再令 \(H=z^k\)

\[\begin{aligned} n![x^n]T^k&=n![z^n]H(T)\\ &=(n-1)![z^{n-1}]H'(z)\left(\frac{z}{G}\right)^n \\ &=k(n-1)![z^{n-1}]z^{k-1}e^{nz} \\ &=k(n-1)![z^{n-k}]e^{nz} \\ &=k(n-1)!n^{n-k}\frac{1}{(n-k)!} \\ &=k\cdot n^{n-k-1}\cdot n^{\underline k} \end{aligned} \]

然后考虑原问题是 \(1,2,\cdots,k\) 两两不在同一棵树,那么这些点就可以看作它所在的树的根,并且按照这个根的相对大小顺序来作为树之间的相对顺序。然后考虑对这样一个方案如何推得刚刚求解的问题:给它重标号使得根并非是强制 \(1,2,\cdots ,k\).首先 \(>k\) 的标号在分配标号后相对顺序不能改变,但是 \(1,2,\cdots,k\) 这些标号的相对顺序可以改变,所以需要乘一个 \(n^{\underline k}\) 来得到 \(k\) 棵有标号有根树个数。

反过来,连成 \(k\) 棵有标号有根数的方案数除掉 \(n^{\underline k}\) 即为原问题所求。

所以把 \(n\) 个点连成有 \(k\) 棵树的森林,并且要求 \(1,2,\cdots,k\)\(k\) 个点两两不在同一棵树的方案数是 \(k\cdot n^{n-k-1}\)

posted @ 2022-10-20 22:29  do_while_true  阅读(74)  评论(0编辑  收藏  举报