zoukankan      html  css  js  c++  java
  • 斯特林数

    给个定义吧:第一类斯特林数 (nrack k) 表示将 (n) 个元素分成 (k) 个环的方案数,第二类斯特林数 (nrace k) 表示将 (n) 个元素分成 (k) 个集合的方案数,分别有以下两个递推式

    [{nrack k}={n-1rack k-1}+(n-1){n-1rack k}, {nrace k}={n-1race k-1}+k{n-1race k} ]

    然后第二类斯特林数和组合数有如下的关系:

    [{nrace k}=frac 1{k!}sum_{j}(-1)^jinom kj(k-j)^n ]

    以及重要恒等式:

    [x^{underline{n}}=sum_{k}{nrack k}x^k ]

    相当于是说,第一类斯特林数 (nrack k) 的生成函数就是 (x^{underline{n}})

    以及斯特林反演:

    [f_n=sum_{k}{nrack k}g_kLeftrightarrow g_n=sum_{k}(-1)^{n-k}{nrace k}f_k ]

    和等价形式:

    [f_n=sum_{k}(-1)^k{nrack k}g_kLeftrightarrow g_n=sum_{k}(-1)^{k}{nrace k}f_k ]

    那么根据斯特林反演和重要恒等式,我们可以导出四个上升幂、下降幂、普通幂之间的互推柿子,比较常用的是下面这个:

    [x^n=sum_k(-1)^{n-k}{nrace k}x^{underline{k}} ]

    斯特林数和差分也有着奇妙关系,主要是这个:

    [Delta^mx^n|_{x=0}=m!{nrace m} ]

    其他就没什么了,还有就是分治 FFT 可以快速预处理斯特林数。

  • 相关阅读:
    设计模式学习——前言和目录
    模板颜色搭配
    win7、xp下Meclipse SVN用户名修改
    JS编码解码
    用Javascript进行HTML转义(分享)
    打印异常信息
    lucene 抛出的异常(分享)
    SQL语句优化(分享)
    Java集群之session共享解决方案
    VUE中返回上一页
  • 原文地址:https://www.cnblogs.com/whx1003/p/13749173.html
Copyright © 2011-2022 走看看