拉格朗日反演及扩展拉格朗日反演
如果有 \(F(G(x))=x\),即 \(F,G\) 互为复合逆,同时一定有 \(G(F(x))=x\),可以称 \(G(x)=F^{-1}(x),F(x)=G^{-1}(x)\)。
在这种情况下,有这样的式子:
拉格朗日反演
扩展拉格朗日反演
大朋友和多叉树
设 \(F(x)\) 为答案的普通生成函数,那么有
这样的话就构造出了 \(G(x)=F^{-1}(x)=x-\sum \limits_{i=0}^{\infty}[i \in D]x^i\)。
对 \(G\) 进行拉格朗日反演即可求出 \(F\)。
注意要求的是 \((\frac{x}{G(x)})^n\),然而 \(G(x)\) 常数项一定为 \(0\)。
解决方法很简单,把式子化成 \((\cfrac{1}{\frac{G(x)}{x}})^n\) 即可。
边双图计数
首先一般图的指数生成函数为 \(H(x)=\sum \limits_{i=0}^\infty 2^{\binom{i}{2}}\frac{x^i}{i!}\)。
可以求出一般连通图的指数生成函数 \(P(x)\),\(e^{P(x)}=H(x),P(x)=\ln H(x)\)。
给 \(P(x)\) 的第 \(i\) 项系数乘上 \(i\),即可得到有根一般连通图的指数生成函数 \(D(x)\)。
设有根边双图的生成函数为 \(B(x)\),考虑枚举一般图中根所在的边双大小,接着把有根连通图挂在边双上的点上,那么有:
令 \(C(x)=xe^{D(x)}\),可得 \(D(x)=B(C(x))\)。
对 \(C(x)\) 取复合逆,可得 \(B(x)=D(C^{-1}(x))\)。
然后直接扩展拉格朗日反演冲上去:
点双图计数
同上题可以求出 \(D(x)\)。
设无根点双图的生成函数为 \(B(x)\),考虑一般图中根所在若干个无关的点双,可以直接 \(\exp\) 起来,所以只需要考虑每个点双的生成函数。
对于每个点双,只要枚举大小然后在点双的每个点上挂一个有根连通图即可。
所以每个点双大概是这样的 \(\sum \limits_{i=1}^{\infty}b_{i+1}\frac{D^i(x)}{i!}\)。
可以给 \(B\) 左移一位,使书写方便一些,有 \(D(x)=xe^{B(D(x))}\)。
这里用的点双生成函数是无根的,大概是因为这样就可以直接钦定编号最小的点是根节点,不去给根节点分配编号同时还保证用到的方案数是正确的。
对式子同取 \(\ln\),可得 \(\ln \frac{D(x)}{x}=B(D(x))\)。
用 \(D^{-1}(x)\) 替换掉 \(x\),可得 \(\ln \frac{x}{D^{-1}(x)}=B(x)\)。
构造 \(H(x)\) 为 \(\ln \frac{D(x)}{x}\) 即可发现要求的就是 \(B(x)=H(D^{-1}(x))\)。
仍然是套一个扩展拉格朗日反演即可解决。