zoukankan      html  css  js  c++  java
  • 拉格朗日反演

    拉格朗日反演及扩展拉格朗日反演

    如果有 (F(G(x))=x),即 (F,G) 互为复合逆,同时一定有 (G(F(x))=x),可以称 (G(x)=F^{-1}(x),F(x)=G^{-1}(x))

    在这种情况下,有这样的式子:

    拉格朗日反演

    [[x^n]F(x)=frac{1}{n}[x^{-1}](frac{1}{G(x)})^n=frac{1}{n}[x^{n-1}](frac{x}{G(x)})^n ]

    扩展拉格朗日反演

    [[x^n]H(F(x))=frac{1}{n}[x^{-1}]H'(x)(frac{1}{G(x)})^n=frac{1}{n}[x^{n-1}]H'(x)(frac{x}{G(x)})^n ]

     
     

    大朋友和多叉树

    (F(x)) 为答案的普通生成函数,那么有

    [F(x)=x+sum limits_{i=0}^{infty}[i in D] F^i(x) ]

    [x=F(x)-sum limits_{i=0}^{infty}[i in D] F^i(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^{inom{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)),考虑枚举一般图中根所在的边双大小,接着把有根连通图挂在边双上的点上,那么有:

    [D(x)=sum limits_{i=1}^infty b_ie^{iD(x)}frac{x^i}{i!} ]

    [D(x)=sum limits_{i=1}^infty b_ifrac{(xe^{D(x)})^i}{i!}=B(xe^{D(x)}) ]

    (C(x)=xe^{D(x)}),可得 (D(x)=B(C(x)))

    (C(x)) 取复合逆,可得 (B(x)=D(C^{-1}(x)))

    然后直接扩展拉格朗日反演冲上去:

    [[x^n]B(x)=[x^n]D(C^{-1}(x))=frac{1}{n}[x^{n-1}]D'(x)(frac{x}{C(x)})^n=frac{1}{n}[x^{n-1}]D'(x)e^{-nD(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)))

    仍然是套一个扩展拉格朗日反演即可解决。

  • 相关阅读:
    bugku-web40
    buuctf-BabyUpload
    webpack4系列之 【1. webpack入门】
    webpack Cannot find module 'webpack/schemas/WebpackOptions.json'
    .gitignore无效解决方案以及git rm和rm的区别
    nginx启动或者重启失败,报错nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)
    vue-学习系列之vue双向绑定原理
    mac环境下配置nginx
    杂记
    更换淘宝源
  • 原文地址:https://www.cnblogs.com/skyh/p/13634785.html
Copyright © 2011-2022 走看看