zoukankan      html  css  js  c++  java
  • bzoj 3456 城市规划 无向简单连通图个数 多项式求逆

    题目大意

    求n个点的无向简单连通图个数

    做法1

    (f[i])表示i个点的无向简单连通图个数
    (g[i]=2^{frac {i*(i-1)}{2}})表示i个点的无向简单图个数(不要求连通)
    f[i]就是g[i]减去不连通的情况数
    我们枚举(1)所在连通块大小(j)
    则有

    [egin{aligned} f[i]&=g[i]-sum_{j=1}^{i-1}inom {i-1}{j-1}f[j]*g[i-j]\ g[i]-f[i]&=sum_{j=1}^{i-1}frac{(i-1)!}{(j-1)!(i-j)!}f[j]*g[i-j]\ frac {g[i]}{(i-1)!}-frac {f[i]}{(i-1)!}&=sum_{j=1}^{i-1}frac{f[j]}{(j-1)!}*frac {g[i-j]}{(i-j)!}\ frac {g[i]}{(i-1)!}&=sum_{j=1}^{i}frac{f[j]}{(j-1)!}*frac {g[i-j]}{(i-j)!}\ A&=B*C\ B&=A*C^{-1} end{aligned} ]

    好了显然了
    弄成生成函数求个逆就好了

    做法2

    [egin{aligned} frac {g[i]}{(i-1)!}&=sum_{j=1}^{i}frac{f[j]}{(j-1)!}*frac {g[i-j]}{(i-j)!}\ 提出frac {f[i]}{(i-1)!}\ frac {f[i]}{(i-1)!}&=frac {g[i]}{(i-1)!}-sum_{j=1}^{i-1}frac{f[j]}{(j-1)!}*frac {g[i-j]}{(i-j)!}\ end{aligned} ]

    分治+FFT

    做法3

    多项式求ln

    solution

    没时间了先不写了 挖坑

  • 相关阅读:
    MBProgressHUD上传照片进度提示
    -oN ,-oX,-oG
    nmap -sN -p 22,80 www.baidu.com
    22/tcp open|filtered ssh 80/tcp open|filtered http
    nmap -sS
    nmap -sT
    tcpdump --nnx tcp and host 192.168.10.9
    awk对列求和
    genlist -s 192.168.1.*
    /usr/local/sbin/fping -s www.baidu.com www.google.com
  • 原文地址:https://www.cnblogs.com/acha/p/6478305.html
Copyright © 2011-2022 走看看