• 【OI】关于斯特林数的简单理解


    斯特林数分为第一类斯特林数:S1(n,k)和第二类斯特林数:S2(n,k)。

    S1(n,k)代表在n个元素中选出k个环的方案数,S2(n,k)代表在n个元素中选出k个非空集合的方案数,

    不同之处在于,在第一类斯特林数中我们在意这些环的顺序,在第二类斯特林数中我们不在意顺序,但在意集合中装了什么(感觉类似排列组合中的有序组合(P)和无序组合(C))。

    第一类斯特林数的公式是:

    S1(n,m)=(n-1)*S1(n-1,m)+S1(n-1,m-1)

    如何推导出这些:

    我们在n-1的时候可能有两种状态:

    1.已有m个环, 从某个元素数>1的环中加入一个元素,转移到m个环的状态,环有顺序,共有n-1个元素,所以可以插入到任意一个元素的左边,因此有n-1个种可能

    2.已有m-1个环,直接把这个元素作为一个新环,转移到m个环的状态,因为只加入一个环,所以没有其他状态

    根据状态1得到(n-1)*S1(n-1,m);根据状态2得到S1(n-1,m-1),合起来就是第一类斯特林数公式:S1(n,m)=(n-1)*S1(n-1,m)+S1(n-1,m-1)

    第二类斯特林数的公式是:

    S2(n,m)=m*S2(n-1,m)+S2(n-1,m-1)

    如何推导出这些:

    在n-1的时候可能有两种状态:

    1.已有m个集合,因为不考虑顺序,可以插入m个集合中任意的集合,所以有m种可能

    2.已有m-1个集合,直接把这个元素作为一个新集合,没有其它状态

    根据状态1得到m*S1(n-1,m);根据状态2得到S1(n-1,m-1),合起来就是第二类斯特林数公式:S2(n,m)=m*S2(n-1,m)+S2(n-1,m-1)

  • 相关阅读:
    重温CLR(七 ) 属性和事件
    重温CLR(六)方法和参数
    KMP算法
    Webstorm 2019最新激活码
    bash: cd: too many arguments 报错
    mongoDB线上数据库连接报错记录
    常见的 eslint 基本报错信息
    git 查看项目代码统计命令
    npm 删除指定的某个包以及再次安装
    vue.config.js常用配置
  • 原文地址:https://www.cnblogs.com/dudujerry/p/10390453.html
Copyright © 2020-2023  润新知