zoukankan      html  css  js  c++  java
  • 杂题泛做

    [EA练习赛2] 计树

    最终的树一定是若干条极长链拼接而成的,一条链的 (OGF) 即为 (sumlimits_{ige 2}x^i=frac{x^2}{1-x})

    引理:对于一个划分 (len_1,len_2,...,len_m) ,它的拼接方案数为

    [n^{m-2}prodlimits_{i=1}^{m}len_i ]

    证明:将一条极长链看作一个点,枚举它的度数,每个度数有 (len_i) 种连法,则根据 ( ext{prufer}) 序列有:

    [sumlimits_{sumlimits_{i}(deg_i-1)=m-2}frac{(m-2)!}{prodlimits_{i}(deg_i-1)!}prodlimits_{i}len_i^{deg_i} ]

    [=left(prod_{i}len_i ight)left((m-2)![x^{m-2}]prod_{i}e^{len_ix} ight) ]

    [=n^{m-2}prod_{i=1}^{m}len_i ]

    由于一条极长链可能被算重(它的几个子链拼接出来),考虑容斥掉几个拼起来的情况。记 (A(x)) 表示容斥系数的生成函数,(x^i) 项的系数表示长度为 (i) 的链对应的容斥系数,有:

    [A(x)+A^2(x)+A^3(x)+...=frac{1}{1-A(x)}-1 ]

    我们希望长度小于 (2) 的区间被统计的次数为 (0) ,长度 (ge 2) 的区间被统计的次数为 (1) :

    [frac{1}{1-A(x)}-1=frac{x^2}{1-x} ]

    [A(x)=frac{x^2}{x^2-x+1} ]

    "虚假"的极长链的贡献为 (f_{len}=left( [x^{len}]frac{x^2}{x^2-x+1} ight) imes len imes n)

    枚举极长链的个数,最终的答案为

    [n^{-2}sumlimits_{i=0}^{n}[x^n]F^i(x) ]

    [=n^{-2}[x^n]frac{1}{1-F} ]

    多项式求逆即可,时间复杂度 (O(nlogn))

  • 相关阅读:
    从V$SQL_PLAN中FORMAT执行计划
    使用 vmstat 监测系统性能
    aix 计算性内存和文件内存
    AIX 配置vncserver
    批量杀进程——xargs用途
    Aix命令大全
    linux查看文件个数命令
    查看Unix系统是32位还是64位
    UTF-8与UTF-8 BOM
    jdk1.9之前版本及jdk9安装配置环境变量
  • 原文地址:https://www.cnblogs.com/wlzhouzhuan/p/14304526.html
Copyright © 2011-2022 走看看