• 斯特林数


    斯特林数

    第一类

    (n)个有标号数放入(m)个非空环排列的方案数

    [egin{bmatrix}n\mend{bmatrix}= egin{bmatrix}n-1\m-1end{bmatrix}+(n-1)egin{bmatrix}n-1\mend{bmatrix} ]

    考虑成为新环或者接在某个数字之后

    性质

    性质一: (egin{bmatrix}n\1end{bmatrix}=(n-1)!)

    证明:一个环的环排列计数,为(n)个点的总排列数除以(n)

    性质二: (egin{bmatrix}n\2end{bmatrix}=(n-1)!sumlimits_{i=1}^{n-1}frac{1}{i})

    证明:显然

    [egin{bmatrix}2\2end{bmatrix}=1=1!sumlimits_{i=1}^{1}frac{1}{1} ]

    考虑数学归纳法

    [egin{bmatrix}n+1\2end{bmatrix}=egin{bmatrix}n\1end{bmatrix}+negin{bmatrix}n\2end{bmatrix} ]

    [=(n-1)!+n(n-1)!sumlimits_{i=1}^{n-1}frac{1}{i} ]

    [=frac{n!}{n}+n!sumlimits_{i=1}^{n-1}frac{1}{i} ]

    [=n!sumlimits_{i=1}^{n}frac{1}{i} ]

    性质三:(sumlimits_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}=n!)

    证明:环排列是排列的不交并,即每种排列可以唯一对应一种(n)个点的环排列,所以

    [n!=sumlimits_{i=1}^{n}egin{bmatrix}n\iend{bmatrix} ]

    同时规定(egin{bmatrix}n\0end{bmatrix}=0),所以

    [sumlimits_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}=n! ]

    求法

    第一类斯特林数·行

    即给定(n),求(egin{bmatrix}n\0end{bmatrix},egin{bmatrix}n\1end{bmatrix}egin{bmatrix}n\2end{bmatrix}…egin{bmatrix}n\nend{bmatrix})

    如果您不会上升幂转通常幂,请先阅读下面的介绍

    根据

    [x^{overline{n}}=sumlimits_{i}^{n}egin{bmatrix}n\iend{bmatrix}x^i ]

    得到(x^{overline{n}})(i)次项系数即为(egin{bmatrix}n\iend{bmatrix})

    考虑倍增,我们有

    [x^{overline{2n}}=x^{overline{n}}(x+n)^{overline{n}} ]

    我们将(x^{overline{n}})看作(f(x)),那么((x+n)^{overline{n}})即为(f(x+n))

    假设我们已经得到了(f(x)),其中(i)次项系数为(a_i),那么

    [f(x+n)=sumlimits_{i=0}^{n}a_i(x+k)^i ]

    将右边二项式展开

    [=sumlimits_{i=0}^{n}a_isumlimits_{j=0}^{i}dbinom{i}{j}x^jn^{i-j} ]

    [=sumlimits_{i=0}^{n}x^isumlimits_{j=i}^{n}dbinom{j}{i}n^{j-i}a_j ]

    [=sumlimits_{i=0}^{n}frac{x^i}{i!}sumlimits_{j=i}^{n}frac{n^{j-i}}{(j-i)!}j!a_j ]

    最右明显是个卷积式了,不会卷可以看我这里的最后一步

    当然有可能(n\%2 eq 0),这种情况只需要算出(x^{overline{n-1}}),再乘以((x+n-1))

    第一类斯特林数·列

    给定(n,k)

    (egin{bmatrix}0\kend{bmatrix},egin{bmatrix}1\kend{bmatrix},egin{bmatrix}2\kend{bmatrix}…egin{bmatrix}n\kend{bmatrix})

    (F(x))是一个环的(EGF)

    那么有

    [F(x)=sumlimits_{i=1}^{n}frac{(i-1)!}{i!}x^i=sumlimits_{i=1}^{n}frac{1}{i} ]

    那么

    [egin{bmatrix}i\kend{bmatrix}=frac{F(x)^k}{k!}i! ]

    注意这里常数项不为(1),要用加强版的多项式幂函数

    第二类

    (n)个有标号的数放入(m)个非空集合中的方案数

    [egin{Bmatrix}n\mend{Bmatrix}=egin{Bmatrix}n-1\m-1end{Bmatrix}+megin{Bmatrix}n-1\mend{Bmatrix} ]

    考虑占用新集合或加入之前的集合

    通项

    对非空集合这个条件进行容斥,先对集合进行标号,再除以(m!)

    [egin{Bmatrix}n\mend{Bmatrix}=frac{1}{m!}sumlimits_{i=0}^{m}(-1)^{i}dbinom{m}{i}(m-i)^n ]

    拆开组合数

    [egin{Bmatrix}n\mend{Bmatrix}=sumlimits_{i=0}^{m}frac{(-1)^{i}}{i!}frac{(m-i)^n}{(m-i)!} ]

    求法

    第二类斯特林数·行

    给定(n)

    (egin{Bmatrix}n\0end{Bmatrix},egin{Bmatrix}n\1end{Bmatrix},egin{Bmatrix}n\2end{Bmatrix}…egin{Bmatrix}n\nend{Bmatrix})

    有通项

    [egin{Bmatrix}n\mend{Bmatrix}=sumlimits_{i=0}^{m}frac{(-1)^{i}}{i!}frac{(m-i)^n}{(m-i)!} ]

    (f_ifrac{(-1)^{i}}{i!},g_i=frac{i^n}{i!})

    [egin{Bmatrix}n\iend{Bmatrix}=[x^i]f*g ]

    第二类斯特林数·列

    给定(n,k)

    (egin{Bmatrix}0\kend{Bmatrix},egin{Bmatrix}1\kend{Bmatrix},egin{Bmatrix}2\kend{Bmatrix}…egin{Bmatrix}n\kend{Bmatrix})

    考虑先把相同的集合换成不同的集合,最后令每一项乘上(frac{1}{k!})

    假设相同集合换成不同集合的(EGF)(F),单个盒子的(EGF)(G),那么(F=G^k)

    由于每个盒子不能为空,所以

    [G=sumlimits_{i=1}^{n}frac{1}{i!}x^i ]

    [=e^x-1 ]

    所以

    [F=(e^x-1)^k ]

    所以

    [egin{Bmatrix}i\kend{Bmatrix}=frac{(e^x-1)^k}{k!}i! ]

    我们会惊喜地发现只要把第一类斯特林数·列的代码的初始多项式由(sumfrac{1}{i})换成(sumfrac{1}{i!})(AC)

    上升幂与下降幂

    下降幂

    [n^{underline{m}}=n(n-1)…(n-m+1) ]

    排列(A_{n}^{m}=n^{underline{m}})

    通常幂转下降幂

    [n^m=sumlimits_{i=0}^{m}egin{Bmatrix}m\iend{Bmatrix}n^{underline{i}} ]

    (n^m)是选(m)(1-n)的方案数

    枚举选择了多少个数字,然后把(m)个数放入(i)个集合中,再从(1-n)中选

    有一个更常用的形式:

    [n^m=sumlimits_{i=0}^{m}egin{Bmatrix}m\iend{Bmatrix}i!dbinom{n}{i} ]

    上升幂

    (n^{overline{m}}=n(n+1)…(n+m-1))

    上升幂转通常幂

    [x^{overline{m}}=sumlimits_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}x^i ]

    考虑数学归纳法

    (n=1)时显然成立

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

    [=(x+n-1)sumlimits_{i=0}^{n-1}egin{bmatrix}n-1\iend{bmatrix}x^i ]

    [=sumlimits_{i=0}^{n-1}egin{bmatrix}n-1\iend{bmatrix}x^{i+1}+sumlimits_{i=0}^{n-1}(n-1)egin{bmatrix}n-1\iend{bmatrix}x^i ]

    令第一个求和的(i=i+1)

    [=sumlimits_{i=0}^{n-1}egin{bmatrix}n-1\i-1end{bmatrix}x^i+sumlimits_{i=0}^{n-1}(n-1)egin{bmatrix}n-1\iend{bmatrix}x^i ]

    [=sumlimits_{i=1}^{n-1}egin{bmatrix}n-1\i-1end{bmatrix}+sumlimits_{i=0}^{n-1}(n-1)egin{bmatrix}n-1\iend{bmatrix})x^i ]

    [=sumlimits_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}x^i ]

    上升幂下降幂互转

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

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

    显然

    反转公式

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

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

    第二个式子证明

    通常幂转下降幂转上升幂再转通常幂

    [n^m=sumlimits_{i=0}^{m}egin{Bmatrix}m\iend{Bmatrix} ]

    [=sumlimits_{i=0}^{m}egin{Bmatrix}m\iend{Bmatrix}(-1)^{i}(-n)^{overline{i}} ]

    [=sumlimits_{i=0}^{m}egin{Bmatrix}m\iend{Bmatrix}(-1)^{i}sumlimits_{j=0}^{i}egin{bmatrix}i\jend{bmatrix}(-n)^j ]

    [=sumlimits_{j=0}^{m}(-n)^jsumlimits_{i=j}^{m}egin{Bmatrix}m\iend{Bmatrix}egin{bmatrix}i\jend{bmatrix}(-1)^i ]

    [n^m=sumlimits_{j=0}^{m}n^jsumlimits_{i=j}^{m}egin{Bmatrix}m\iend{Bmatrix}egin{bmatrix}i\jend{bmatrix}(-1)^{i-j} ]

    (j=m)

    [sumlimits_{j=0}^{m}n^jsumlimits_{i=j}^{m}egin{Bmatrix}m\iend{Bmatrix}egin{bmatrix}i\jend{bmatrix}(-1)^{i-j}=n^m ]

    同时

    [sumlimits_{i=j}^{m}egin{Bmatrix}m\iend{Bmatrix}egin{bmatrix}i\jend{bmatrix}(-1)^{i-j}=1 ]

    所以

    [sumlimits_{j=0}^{m-1}n^jsumlimits_{i=j}^{m}egin{Bmatrix}m\iend{Bmatrix}egin{bmatrix}i\jend{bmatrix}(-1)^{i-j}=0 ]

    又因为

    [sumlimits_{j=0}^{m-1}n^j>0 ]

    所以当(j eq m)

    [sumlimits_{i=j}^{m}egin{Bmatrix}m\iend{Bmatrix}egin{bmatrix}i\jend{bmatrix}(-1)^{i-j}=0 ]

    我们可以得知负数与正数部分绝对值相等,只要保证((-1))的幂次奇偶性不断变化,所以

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

    斯特林反演

    [f_n=sumlimits_{i=0}^{n}egin{Bmatrix}n\iend{Bmatrix}g_i iff g_n=sumlimits_{i=0}^{n}(-1)^{n-i}egin{bmatrix}n\iend{bmatrix}f_i ]

    证明

    [f_n=sumlimits_{i=0}^{n}[i=n]f_i ]

    [=sumlimits_{i=0}^{n}sumlimits_{j=i}^{n}(-1)^{n-j}egin{Bmatrix}n\jend{Bmatrix}egin{bmatrix}j\iend{bmatrix}f_i ]

    [=sumlimits_{j=0}^{n}egin{Bmatrix}n\jend{Bmatrix}sumlimits_{i=0}^{j}(-1)^{j-i}egin{bmatrix}j\iend{bmatrix}f_i ]

    因为

    [f_n=sumlimits_{i=0}^{n}egin{Bmatrix}n\iend{Bmatrix}g_i ]

    所以

    [g_n=sumlimits_{i=0}^{n}(-1)^{n-i}egin{bmatrix}n\iend{bmatrix}f_i ]

  • 相关阅读:
    转:调试Release发布版程序的Crash错误
    [原创]桓泽学音频编解码(9):MP3 多相滤波器组算法分析
    [转] 一些你不知道但是超美的地方,一定要去
    [原创]桓泽学音频编解码(11):AC3 exponent(指数部分)模块解码算法分析
    [原创]桓泽学音频编解码(14):AC3 时频转换模块算法分析
    [原创]桓泽学音频编解码(15):AC3 最终章 多声道处理模块算法分析
    Android Supported Media Formats
    VoiceChatter 编译记录
    [原创]桓泽学音频编解码(4):MP3 和 AAC 中反量化原理,优化设计与参考代码中实现
    OPUS 视频PPT介绍
  • 原文地址:https://www.cnblogs.com/knife-rose/p/13050557.html
Copyright © 2020-2023  润新知