http://zh.wikipedia.org/wiki/%E6%96%AF%E7%89%B9%E7%81%B5%E6%95%B0

第一类:n个元素分成k个非空循环排列(环)的方法总数

递推式:s(n+1,k)=s(n,k-1)+n*s(n,k)

解释:考虑第n+1个元素 1、单独形成循环排列,剩下的有s(n,k-1)种方法 2、和别的元素一起形成循环排列,n个元素形成循环排列的方法数是s(n,k),第n+1个可以放在第i个元   素左边,共有n种放法,一共是n*s(n,k)

代码:

memset(str1,,sizeof(str1)) ;
for(int i= ;i<= ;i++)
{
str1[i][i]= ;
for(int j= ;j<i ;j++)
{
str1[i][j]=str1[i-][j-]+(i-)*str1[i-][j] ;
}
}

第二类:n个元素放到k个集合内的方法总数

递推式:s(n,k)=s(n-1,k-1)+k*s(n-1,k)

解释:考虑第n个元素 1、第n个元素单独分一类,则n-1个元素要分成k-1类,有s(n-1,k-1)种方法 2、第n个元素和别的元素放在一起,则n-1个元素有s(n-1,k)种分配方法,此      时第n个元素有k种选择,一共是k*s(n-1,k)

代码:

memset(str2,,sizeof(str2)) ;
for(int i= ;i<=N ;i++)
{
str2[i][i]= ;
for(int j= ;j<i ;j++)
{
str2[i][j]=str2[i-][j-]+j*str2[i-][j] ;
}
}

贝尔数:对于第二类斯特灵数,bell(n)=sigma(s(n,i))(1<=i<=n)

代码:

memset(bell,,sizeof(bell)) ;
for(int i= ;i<=N ;i++)
{
for(int j= ;j<=i ;j++)
{
bell[i]=bell[i]+str2[i][j] ;
}
}

斯特灵(Stirling)数的更多相关文章

  1. 斯特灵数 (Stirling数)

    @维基百科 在组合数学,Stirling数可指两类数,都是由18世纪数学家James Stirling提出的. 第一类 s(4,2)=11 第一类Stirling数是有正负的,其绝对值是个元素的项目分 ...

  2. cf932E. Team Work(第二类斯特灵数 组合数)

    题意 题目链接 Sol 这篇题解写的非常详细 首先要知道第二类斯特灵数的一个性质 \[m^n = \sum_{i = 0}^m C_{n}^i S(n, i) i!\] 证明可以考虑组合意义:\(m^ ...

  3. HDU4372-Count the Buildings【第一类Stirling数】+【组合数】

    <题目链接> <转载于 >>> > 题目大意: N座高楼,高度均不同且为1~N中的数,从前向后看能看到F个,从后向前看能看到B个,问有多少种可能的排列数. 0 ...

  4. 7-n!的位数(斯特灵公式)

    http://acm.hdu.edu.cn/showproblem.php?pid=1018 Big NumberTime Limit: 2000/1000 MS (Java/Others) Memo ...

  5. lightOJ 1326 Race(第二类Stirling数)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1326 题意:有n匹马赛跑.问有多少种不同的排名结果.可以有多匹马的排名相同. 思路:排 ...

  6. hdu 4372 第一类stirling数的应用/。。。好题

    /** 大意: 给定一系列楼房,都在一条水平线上,高度从1到n,从左侧看能看到f个, 从右侧看,能看到b个,问有多少种这样的序列.. 思路: 因为肯定能看到最高的,,那我们先假定最高的楼房位置确定,那 ...

  7. HDU 3625 Examining the Rooms:第一类stirling数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3625 题意: 有n个房间,每个房间里放着一把钥匙,对应能开1到n号房间的门. 除了1号门,你可以踹开任 ...

  8. HDU 4372 Count the Buildings:第一类Stirling数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4372 题意: 有n栋高楼横着排成一排,各自的高度为1到n的一个排列. 从左边看可以看到f栋楼,从右边看 ...

  9. 整理一点与排列组合有关的问题[组合数 Stirling数 Catalan数]

    都是数学题 思维最重要,什么什么数都没用,DP直接乱搞(雾.. 参考LH课件,以及资料:http://daybreakcx.is-programmer.com/posts/17315.html 做到有 ...

随机推荐

  1. ThreadLocal类,实例测试,FutureTask类,实例测试。

    1:测试ThreadLocal类,  为每个线程域保存局部变量.例如下面的例子. ThreadLocal为每个线程保存了一个Test对象,  那么当执行线程时,每个线程中的test具有唯一性.某一个线 ...

  2. 什么是API测试

    什么是API API是Application Programming Interface的简写. 实现了两个或多个独立系统或模块间的通信和数据交换能力. 什么是API测试 图片.png API测试是不 ...

  3. python基础之if语句

    python之if语句 通用格式 if <test1>: <do something> elif: <do something> else: <do some ...

  4. SVD在餐馆菜肴推荐系统中的应用

    SVD在餐馆菜肴推荐系统中的应用 摘要:餐馆可以分为很多类别,比如中式.美式.日式等等.但是这些类别不一定够用,有的人喜欢混合类别.对用户对菜肴的点评数据进行分析,可以提取出区分菜品的真正因素,利用这 ...

  5. opencv-ios开发笔记9 使用透视变换矫正扭曲的图片

    http://blog.csdn.net/baixiaozhe/article/details/51762086 摄像头观察一个矩形的图片时往往只能得到一个扭曲的图片: 原图: 实际情况是摄像头经常从 ...

  6. Python基础笔记之同时装了Python3和Python2,怎么在命令行使用pip

    我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面.这个启动器允许我们指定使用Python2还是 ...

  7. InstallShield 2015 Premier的Basic MSI Project如何在卸载时删除残留的文件 (转)

    转载:http://blog.csdn.net/zztoll/article/details/54018615#comments 先说下缘由,我在用InstallShield 2015 Premier ...

  8. RabbitMQ 一个demo

    Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy ...

  9. [SpringBoot] - 配置文件的多种形式及优先级

              学习两个注解: @PropertySource   @ImportResource  ↓   @ConfigurationProperties  与 @Bean 结合为属性赋值 与 ...

  10. 11_MySQL_分页查询

    # 分页查询/* 应用场景:要显示的数据,一页显示不全,需要分页提交sql请求 语法: select 查询列表 from 表 [join type]表2 on 连接条件 where 筛选条件 grou ...