zoukankan      html  css  js  c++  java
  • 自然数幂求和——第二类Strling数

    这个问题似乎有很多种求法,但感觉上第二类Strling数的做法是最方便的。


    问题

    求下面这个式子:
    i=0niksum_{i=0}^n i^k
    nn的范围可以很大。


    第二类Strling数

    第二类Strling数记作S(n,m)S(n,m)SnmS_n^m
    定义:nn个相同的球放在mm个不同的箱子里的方案数(其中的每一个箱子至少有一个球)。
    很容易推出一个式子:Snm=Sn1m1+mSn1mS_n^m=S_{n-1}^{m-1}+mS_{n-1}^m。不解释。
    有个通项公式,但是我不会推……不过在处理这个问题的时候用不着。


    一个性质

    ak=i=0kSkii!Caia^k=sum_{i=0}^kS_k^i i! C_a^i
    如果直接理性地证明可能不容易,所以在这里通过它的定义来推理一下:
    对于等式左边,相当于kk个不同的球放在aa个不同的箱子里。
    对于等式右边,先枚举非空箱子的个数,SkiS_k^i表示kk个不同的球放在ii个相同的箱子里。乘上i!i!相当于放在不同的箱子里,再乘上非空箱子的选法CaiC_a^i
    当然这条式子也可以化成:
    i=0kSkij=ai+1ajsum_{i=0}^kS_k^i prod_{j=a-i+1}^a j


    推理

    先把结论放在前面:
    i=0nik=i=0kSkij=ni+1n+1ji+1sum_{i=0}^n i^k=sum_{i=0}^kfrac{S_k^iprod_{j=n-i+1}^{n+1}j}{i+1}
    证明如下:
    i=0nik=a=0ni=0kSkii!Cai=i=0kSkii!a=0nCaisum_{i=0}^n i^k \ =sum_{a=0}^nsum_{i=0}^kS_k^i i! C_a^i \ =sum_{i=0}^kS_k^i i!sum_{a=0}^nC_a^i
    因为a<ia<iCai=0C_a^i=0,所以
    =i=0kSkii!a=inCai=sum_{i=0}^kS_k^i i!sum_{a=i}^nC_a^i
    Cmn=Cm1n1+Cm1nC_m^n =C_{m-1}^{n-1}+C_{m-1}^n
    a=inCai=Cii+Ci+1i++Cni=Cii+1+Cii+Ci+1i++Cni=Ci+1i+1+Ci+1i++Cni=Cn+1i+1sum_{a=i}^nC_a^i=C_i^i+C_{i+1}^i+cdots +C_n^i \ =C_i^{i+1}+C_i^i+C_{i+1}^i+cdots +C_n^i \ =C_{i+1}^{i+1}+C_{i+1}^i+cdots +C_n^i \ cdots \ =C_{n+1}^{i+1}
    所以原式又可以化成下面这样:
    =i=0kSkii!Cn+1i+1=i=0kSkij=ni+1n+1ji+1=sum_{i=0}^kS_k^i i!C_{n+1}^{i+1} \ =sum_{i=0}^kfrac{S_k^iprod_{j=n-i+1}^{n+1}j}{i+1}
    这样式子就推完了。

  • 相关阅读:
    ACM-ICPC SouthWestern Europe Regional Contest 2017题解
    Ubuntu系统Anaconda下载安装与切换源教程
    HZNUOJ开发者学习计划
    Codeforces Round #473 (Div. 2)
    正方教务系统自动评教代码
    QQ空间自动点赞
    妈妈我要当全栈工程师
    基于Koa开发学生导师管理系统
    SSH框架实现登陆界面
    谈ACM生涯总结的经验
  • 原文地址:https://www.cnblogs.com/jz-597/p/11145238.html
Copyright © 2011-2022 走看看