扩展拉格朗日反演和图计数

前几天学习了一下扩展拉格朗日反演(因为模拟赛考了),推了一下点双和边双图的计数,记录一下。

前置技能:无向连通图计数

设有标号无向图的 egf 为 \(F(x)=\sum_{i=0}^\infty \frac{f_ix^i}{i!}\),容易知道 \(f_i=2^{n\choose 2}\),则有标号连通无向图的 egf 满足 \(G=\ln F\)

边双连通图

首先设有根连通无向图的指数生成函数是 \(D(x)\),有根边双连通图的指数生成函数是 \(B(x)\)
\(B\) 来表示 \(D\):假设根所在边双大小 \(n\),其egf为 \(\frac{b_nx^n}{n!}\),而对于其相邻的边,对于其中一条边,它挂着一个连通无向图,接在边双的某个点上,所以得到它的egf为 \(nD(x)\);若干边无序自由排列,故邻边的egf是 \(\exp(nD(x))\)
枚举大小求和得 \[D(x)=\sum_{n\ge 1} \frac{b_nx^n\exp(nD(x))}{n!}=B(x\exp(D(x)))\]
\(F(x)=x\exp(D(x))\)\(D(x)=B(F(x))\)
两边对 \(F(x)\) 作复合逆得 \(B(x)=D(F^{-1}(x))\)
有扩展拉格朗日反演公式如下:
\[[x^n]A(B^{-1}(x))=\frac{1}{n} [x^{n-1}]A'(x)(\frac{x}{B(x)})^n\]

代入可得 \([x^n]B(x)=\frac{1}{n} [x^{n-1}]D'(x)(\frac{x}{F(x)})^n\),继续化简可得
\[[x^n]B(x)=\frac{1}{n} [x^{n-1}]D'(x)\exp(-nD(x))\]
我们可以在 \(O(n\log n)\) 的时间复杂度求得 \(B(x)\) 的一项系数,注意是有根边双的egf,最后要乘一个 \(n!\) 和除以一个 \(n\)

猜你喜欢

转载自www.cnblogs.com/bestwyj/p/12063371.html