• 斯特林数-斯特林反演


    斯特林数

    定义:

    自行百度

    递推式:

    [egin{Bmatrix}n\k end{Bmatrix}=egin{Bmatrix}n-1\k-1end{Bmatrix}+kcdot egin{Bmatrix}n-1\k end{Bmatrix}\ egin{bmatrix}n\k end{bmatrix}=egin{bmatrix}n-1\k-1 end{bmatrix}+(n-1)cdot egin{bmatrix}n-1\k end{bmatrix} ]

    第二类斯特林数

    一个组合数意义清晰的式子:

    [displaystyle n^m=sum_{k=0}^megin {Bmatrix}m\k end{Bmatrix}C_n^kk!\ ]

    通过二项式反演的得到(这里是将m看作一个常数):

    [k!egin {Bmatrix}m\k end{Bmatrix}=sum_{i=0}^k(-1)^{k-i}C_k^ii^m\ ]

    上述式子用容斥原理也很好理解。

    我们还可以将上述的式子化为卷积的形式:

    [egin{align} egin {Bmatrix}m\k end{Bmatrix}&=frac{1}{k!}sum_{i=0}^k(-1)^{k-i}frac{k!}{i!(k-i)!}i^m\ &=sum_{i=0}^kfrac{(-1)^{k-i}}{(k-i)!}frac{i^m}{i!}\ end{align} ]

    第二类斯特林数的应用:

    【2011集训贾志鹏】Crash的文明世界

    【TJOI/HEOI2016】求和

    CF 932E Team Work


    斯特林数与阶乘幂之间的关系:

    第二类斯特林数与下降阶乘幂的关系:

    [C_n^kk!=n^{underline k}\ 所以:displaystyle n^m=sum_{k=0}^megin {Bmatrix}m\k end{Bmatrix}C_n^kk!=sum_{k=0}^megin {Bmatrix}m\k end{Bmatrix}n^{underline k}\ ]

    当然也有第一类斯特林数与上升阶乘幂的关系:

    [displaystyle x^{overline{n}}=sum_k egin{bmatrix}n\k end{bmatrix}x^k ]

    证明使用数学归纳法证明的:

    首先我们有((x+n-1)cdot x^k=x^{k+1}+(n-1)x^k)

    所以:

    [egin{align} displaystyle x^{overline{n}}&=(x+n-1)x^{overline{n-1}}\ &=(x+n-1)sum_k egin{bmatrix}n-1\k end{bmatrix}x^k\ &=sum_k egin{bmatrix}n-1\k end{bmatrix}x^{k+1}+sum_k egin{bmatrix}n-1\k end{bmatrix}x^k (n-1)\ &=sum_k egin{bmatrix}n-1\k-1 end{bmatrix}x^{k}+sum_k egin{bmatrix}n-1\k end{bmatrix}x^k (n-1)\ &=sum_k x^k (egin{bmatrix} n-1\k-1end{bmatrix}+(n-1)egin{bmatrix}n-1\kend{bmatrix})\ &=sum_k x^kegin{bmatrix}n\kend{bmatrix} end{align} ]


    斯特林反演:

    [displaystyle f(n)=sum_{k=0}^n egin{Bmatrix}n\k end{Bmatrix}g(k) Longleftrightarrow g(n)=sum_{k=0}^n(-1)^{n-k}egin {bmatrix} n\k end{bmatrix}f(k) ]

    首先我们要证明一个叫反转公式的东西:

    [displaystyle sum_{k=m}^n (-1)^{n-k}egin{bmatrix}n\kend{bmatrix} egin{Bmatrix}k\mend{Bmatrix}=[m=n]\ sum_{k=m}^n (-1)^{n-k}egin{Bmatrix}n\kend{Bmatrix} egin{bmatrix}k\mend{bmatrix}=[m=n] ]

    在这之前,我们先考虑如何建立上升阶乘幂与下降阶乘幂之间的关系。

    先给出结论:

    [x^{underline{n}}=(-1)^n(-x)^{overline{n}}\ x^{overline{n}}=(-1)^n(-x)^{underline{n}} ]

    证明:

    [egin{align} (-1)^n(-x)^{overline{n}}&=(-1)^n(-x)(-x+1)...(-x+n-1)\ &=(-1)^n(-x)(-(x-1))...(-(x-n+1))\ &=x(x-1)...(x-n+1)=x^{underline{n}} end{align} ]

    对于(x^{overline{n}}=(-1)^n(-x)^{underline{n}})证明方法相同。

    [egin{align} displaystyle n^m&=sum_{k=0}^{m}egin{Bmatrix}m\kend{Bmatrix}n^{underline{k}}\ &=sum_{k=0}^{m}egin{Bmatrix}m\kend{Bmatrix}(-1)^k(-n)^{overline{k}} end{align} ]

    将下式带入:

    [displaystyle x^{overline{n}}=sum_k egin{bmatrix}n\k end{bmatrix}x^k ]

    得:

    [egin{align} displaystyle n^m&=sum_{k=0}^{m}egin{Bmatrix}m\kend{Bmatrix}(-1)^k(-n)^{overline{k}}\ &=sum_{k=0}^{m}egin{Bmatrix}m\kend{Bmatrix}(-1)^ksum_{j=0}^kegin{bmatrix}k\jend{bmatrix}(-n)^j\ &=sum_{j=0}^mn^jsum_{k=j}^{m}egin{Bmatrix}m\kend{Bmatrix}egin{bmatrix}k\jend{bmatrix}(-1)^{k-j} end{align} ]

    于是我们就得到了一个反转公式,另一个证明方法类似,反过来带入就可以了。

    [sum_{k=j}^megin{Bmatrix}m\kend{Bmatrix}egin{bmatrix}k\jend{bmatrix}(-1)^{k-j}=[j=m] ]

    然后我们就可以证明斯特林反演了:

    [egin{align} displaystyle 若满足g(n)&=sum_{j=0}^n(-1)^{n-j}egin{bmatrix}n\jend{bmatrix}f(j)\ 则f(n)&=sum_{j=0}^n[j==n]f(j)\ &=sum_{j=0}^nsum_{k=j}^negin{Bmatrix}n\kend{Bmatrix}egin{bmatrix}k\jend{bmatrix}(-1)^{k-j}f(j)\ &=sum_{k=0}^negin{Bmatrix}n\kend{Bmatrix}sum_{j=0}^k(-1)^{k-j}egin{bmatrix}k\jend{bmatrix}f(j)\ &=sum_{k=0}^negin{Bmatrix}n\kend{Bmatrix}g(k) end{align} ]

    例题:

    2018雅礼集训1-16 方阵

  • 相关阅读:
    Solr7使用Oracle数据源导入+中文分词
    自动签发https证书工具 cert manager
    Docker容器服务发现方案
    Registrator中文文档
    C#重试公用类
    sqlserver 2017 docker安装(启动代理)
    【转】如何将MySQL数据目录更改为CentOS 7上的新位置
    solr搜索引擎配置使用mongodb作为数据源
    [转]Docker容器可视化监控中心搭建
    AOP缓存实现
  • 原文地址:https://www.cnblogs.com/hchhch233/p/10016543.html
Copyright © 2020-2023  润新知