• 联考2020A 组合数问题


    本来今天想补一补中考化学,突然发现今天居然是省选联考,一看题似乎会做,就跑来写题解了。

    题目

    为了方便,这里的 (b) 就是题目中的 (x)

    (sum_{k=0}^nf(k)b^k{nchoose k}\ =sum_{k=0}^nb^k{nchoose k}sum_{t=0}^ma_tk^t\ =sum_{t=0}^ma_tsum_{k=0}^n{nchoose k}b^kk^t\ )

    看起来像 (mathbf{EGF}) 的卷积是吧。

    设: (F(x)=sum_i b^{n-i}frac{x^i}{i!},G(x)=sum_i i^tfrac{x^i}{i!})

    则有 (sum_{k=0}^n{nchoose k}b^kk^t=n![x^n]F(x)G(x))

    那么 (F(x))(G(x)) 分别是什么呢?

    (F(x)=sum_i b^{n-i}frac{x^i}{i!}=b^nsum_i b^{-i}frac{x^i}{i!}=b^ne^{frac{x}{b}})

    (G(x)=sum_i i^tfrac{x^i}{i!}\ =sum_i frac{x^i}{i!}sum_{j=0}^t{trace j} i^underline j\ =sum_{j=0}^t{trace j}sum_i frac{x^i}{i!} i^underline j\ =sum_{j=0}^t{trace j}sum_{ige j} frac{x^i}{(i-j)!}\ =sum_{j=0}^t{trace j}sum_i frac{x^{i+j}}{i!}\ =sum_{j=0}^t{trace j}x^jsum_i frac{x^i}{i!}\ =e^xsum_{j=0}^t{trace j}x^j\ )

    (sum_{k=0}^n{nchoose k}b^kk^t\ =n![x^n]F(x)G(x)\ =n!b^n[x^n]e^{frac{x}{b}}e^xsum_{j=0}^t{trace j}x^j\ =n!b^n[x^n]e^{x(1+frac{1}{b})}sum_{j=0}^t{trace j}x^j\ =n!b^nsum_{j=0}^t{trace j}(1+frac 1b)^{n-j}frac{1}{(n-j)!})

    你发现模数居然不是质数,你又发现把前面的东西挪进去分母就消掉了。于是变成:

    (sum_{j=0}^t{trace j}(b+1)^{n-j}b^jn^underline j\)

    这就可以 (O(t)) 计算了。要算 (m) 个这样的东西,总复杂度 (O(m^2))

    滚去学化学了。听说还能更快,先咕着。

  • 相关阅读:
    小故事
    设计模式
    git分支
    git简单操作
    ab命令压力测试
    libcheck ARM交叉编译
    libxml2 ARM 交叉编译
    I.MX6 安装LTIB
    为ARM编译Glib
    QT 4.8 中文显示问题
  • 原文地址:https://www.cnblogs.com/Camp-Nou/p/13169222.html
Copyright © 2020-2023  润新知