zoukankan      html  css  js  c++  java
  • 一个奇妙的斯特林数推导

    大概没啥人来看这个咸鱼的博客了吧。
    虽然一直没更新,但时不时还会回来看。有些偶然的感想,或者被以前自己高妙的想法震惊到的,还会放在这里。
    因为很长时间没搞OI了,数学的内容应该会多一点。

    给定(n,m,k),求:

    [sum_{i=0}^m{mchoose i}{n-m+2ichoose k} ]

    (n,mleq 10^9,kleq 10^3)

    多组询问,组数(leq 100)

    [sum_{i=0}^m{mchoose i}{n-m+2ichoose k} ]

    [=frac{1}{k!}sum_{i=0}^m{mchoose i}(n-m+2i)^{underline k} ]

    [=frac{1}{k!}sum_{i=0}^m{mchoose i}Big(sum_{j=0}^k{kchoose j}(n-m)^{underline {k-j}}(2i)^{underline j}Big) ]

    [=frac{1}{k!}sum_{j=0}^k{kchoose j}(n-m)^{underline{k-j}}Big(sum_{i=0}^m{mchoose i}(2i)^{underline j}Big) ]

    考虑如何计算(sum_{i=0}^m{mchoose i}(2i)^{underline j})

    [=sum_{i=0}^m{mchoose i}Big(sum_{p=0}^j(-1)^{j-p}egin{bmatrix}j\ pend{bmatrix}(2i)^pBig) ]

    [=sum_{i=0}^m{mchoose i}Big(sum_{p=0}^j(-1)^{j-p}egin{bmatrix}j\ pend{bmatrix}2^pi^pBig) ]

    [=sum_{p=0}^j(-1)^{j-p}egin{bmatrix}j\ pend{bmatrix}2^pBig(sum_{i=0}^m{mchoose i}i^pBig) ]

    [=sum_{p=0}^j(-1)^{j-p}egin{bmatrix}j\ pend{bmatrix}2^pBig(sum_{i=0}^m{mchoose i}Big(sum_{o=0}^pegin{Bmatrix}p\ oend{Bmatrix}o!{ichoose o}Big)Big) ]

    [=sum_{p=0}^j(-1)^{j-p}egin{bmatrix}j\ pend{bmatrix}2^pBig(sum_{o=0}^pegin{Bmatrix}p\ oend{Bmatrix}o!Big(sum_{i=0}^m{mchoose i}{ichoose o}Big)Big) ]

    [=sum_{p=0}^j(-1)^{j-p}egin{bmatrix}j\ pend{bmatrix}2^pBig(sum_{o=0}^pegin{Bmatrix}p\ oend{Bmatrix}o!{mchoose o}2^{m-o}Big) ]

    [=sum_{p=0}^j(-1)^{j-p}egin{bmatrix}j\ pend{bmatrix}2^pBig(sum_{o=0}^pegin{Bmatrix}p\ oend{Bmatrix}m^{underline o}2^{m-o}Big) ]

    直接计算是(O(k^3))的,但考虑(j,o)之间的贡献:

    [sum_{p=o}^j(-1)^{j-p}egin{bmatrix}j\ pend{bmatrix}2^pegin{Bmatrix}p\oend{Bmatrix} ]

    是常数,可以用(O(k^3))预处理,就可以做到(O(k^2))回答询问。

    (P.S.)听说这题有纯组合数做法,有没有人教教我啊

  • 相关阅读:
    hdoj2159【二位费用背包】
    POJ2367【拓扑排序】
    POJ2371【水题】
    POJ2369【循环节】
    POJ2370【水题】
    POJ2365【几何】
    POJ2366【二分】
    POJ1276【多重背包】
    瞎说一波3种基本背包问题【希望巨巨们指出错误】
    Codeforces 550B 【暴力】
  • 原文地址:https://www.cnblogs.com/Mr-Spade/p/12361274.html
Copyright © 2011-2022 走看看