• 浅谈斯特林数及其应用


    第一类斯特林数

    定义

    第一类Stirling数表示将 n 个不同元素构成m个圆排列的数目。

    设有多项式

    [[x]_n = x(x-1)(x-2)dots(x-n+1) ]

    [=s(n,0)+s(n,1)x+s(n,2)x^2+dots +s(n,n)x^n ]

    则称(s(n,0),s(n,1),dots,s(n,n))(1)类斯特林数

    递推式

    [[x]_{n+1}=[s(n,0)+s(n,1)x+s(n,2)x^2+dots +s(n,n)x^n](x-n) ]

    [=s(n+1,0)+s(n+1,1)x+dots+s(n+1,n+1)x^{n+1} ]

    显然有

    [s(n,r)=s(n-1,r-1)+(n-1)s(n-1,r) ]

    考虑其组合意义,最后一个球可以单独构成一个圆排列,也可以插入前面某一个球的一侧。

    若单独放,则有(s(n-1,r-1))种放法;若放在某个球的一侧,则有((n-1)s(n-1,r))种放法。

    第二类斯特林数

    定义

    (n)个有区别的球放到(m)个相同的盒子里,要求无一空盒,其不同的方案数用(S(n,m))来表示,称为第2类斯特林数,即(S(n,m))也就是将(n)个数拆分成非空的(m)个部分的方案数。

    (E.g.) 红、黄、蓝、白这(4)种颜色的球,放到两个无区别的盒子里,不允许空盒,其方案有如下(7)种:

    盒子 1 2 3 4 5 6 7
    第一个盒子 r y b w ry rb rw
    第二个盒子 ybw rbw ryw ryb bw yw yb

    其中(r)表示红球,(y)表示黄球,(b)表示蓝球,(w)表示白球,则有

    [S(4,2)=7 ]

    性质

    1. (S(n,0)=S(0,n)=0,forall n in mathbb{N})

    2. (S(n,k)>0),若(nge kge 1)

    3. (S(n,k)=0),若(k > nge 1)

    4. (S(n,1)=1,nge 1)

    5. (S(n,n)=1,nge 1)

      (5)个性质是显然的。

    6. (S(n,2)=2^{n-1}-1)

      证明: 两个盒子没有区别,当第(1)个球放进其中一个盒子之后,其余的(n-1)个有标志的球都有与第(1)个球同盒与否的两种选择,但是要排除全部放在同一个盒子的情况,所以是(2^{n-1}-1)

    7. (S(n,3)=frac{1}{2}(3^{n-1}+1)-2^{n-1})

      证明: 先咕着。

    8. (S(n,n-1)=inom{n}{2})

      证明: (n)个有标志的球,(n-1)个无区别的盒子,无一空盒,所以必定有一个盒子有两个球,所以方案数为(inom{n}{2})

    9. (S(n,n-2)=inom{n}{3}+3inom{n}{4})

      证明: (n)个有标志的球,(n-2)个无区别的盒子,无一空盒,所以有两种情况:一是有一个盒子有(3)个球,方案数为(inom{n}{3});另一种可能则是有两个盒子里面各有(2)个球,方案数为(3inom{n}{4})

    递推式

    [S(n,r)=S(n-1,r-1)+rS(n-1,r) ]

    考虑最后一个球,若它单独放在一个盒子里,则方案数为(S(n-1,r-1));若放在前面的某一个盒子里,则方案数为(rS(n-1,r))

    通项公式

    [S(n,m)=frac{1}{m!} left[ m^n - inom{m}{1}(m-1)^n+inom{m}{2}(m-2)^n- dots + (-1)^{m-1}inom{m}{m-1}1^n ight] ]

    [=frac{1}{m!} sum limits_{k=0}^{m} (-1)^k C(m,k) (m-k)^n ]

    证明:

    假设盒子有区别,且允许空盒存在,那么显然答案就是(m^n)。但是这里不允许有空盒存在,那么进行容斥。

    枚举当前的空盒数,那么先将空盒选出来,也就是(inom{m}{k}),那么剩下的(m-k)个盒子就可以随意放入(n)个球,也就是((m-k)^n)。最后,由于盒子是没有区别的,所以除以一个重复数(m!)

    求斯特林数

    除了(O(n^2))递推外还有没有别的方法计算第二类斯特林数呢?显然是有的。

    回顾一下上面的通项公式

    [S(n,m)=frac{1}{m!} sum limits_{k=0}^{m} (-1)^k C(m,k) (m-k)^n ]

    稍微整理一下

    [S(n,m)=frac{1}{m!} sum limits_{k=0}^{m} (-1)^k frac{m!}{k!(m-k)!} (m-k)^n ]

    [S(n,m)=frac{1}{m!} sum limits_{k=0}^{m} m! frac{(-1)^k}{k!} frac{(m-k)^n}{(m-k)!} ]

    [S(n,m)=sum limits_{k=0}^{m} frac{(-1)^k}{k!} frac{(m-k)^n}{(m-k)!} ]

    显然,这样就是一个卷积的形式了,可以快速得把一行斯特林数都求出来。

    斯特林反演

    博主太菜了,不会,咕了。

    斯特林数及斯特林反演的应用

    咕了。

    既然选择了远方,便只顾风雨兼程。
  • 相关阅读:
    HDU 2176 取(m堆)石子游戏 (尼姆博奕)
    HDU 1846 Brave Game (巴什博弈)
    HDU-1025 Constructing Roads In JGShining's Kingdom
    FOJ有奖月赛-2015年11月 Problem B 函数求解
    FOJ有奖月赛-2015年11月 Problem A
    JXNU acm选拔赛 不安全字符串
    JXNU acm选拔赛 涛神的城堡
    JXNU acm选拔赛 涛涛的Party
    JXNU acm选拔赛 壮壮的数组
    JXNU acm选拔赛 最小的数
  • 原文地址:https://www.cnblogs.com/newbielyx/p/12109454.html
Copyright © 2020-2023  润新知