两类Stirling Number的简介与区别(参考自ACdreamer的CSDN)

Stirling Number I --- s(n,k):将n个物体排成k个非空循环排列(环)的方法数。

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

解释:考虑第n个元素1、单独形成循环排列,剩下的有s(n-1, k-1)种方法

            2、和别的元素一起形成循环排列,n-1个元素形成k个循环排列的方法数是s(n-1,k),插入时共有n种方法,共n*s(n-1,k)种

边界条件:s(i, 0) = 0, i>=1
     s(i, i ) = 1, i>=0

Stirling Number II --- S(n,k):n个元素放到k个集合内的方法总数(将n个人分进k个非空的无差别房间的方法数)

             k!S(p,k):把n个人分进k间有差别(如:被标有房号)的房间(无空房)的方法数。

递推式:S(n, k) = k*S(n-1,k)+S(n-1,k-1) ,1<= k<n
边界条件:s(i, 0) = 0, i>=1 
     s(i, i ) = 1, i>=0

Stirling Number I 和Stirling Number II 有相同的初始条件,但递推关系不同。

拓展

Bell Number --- B[n]

Bn是基数为n的集合的划分方法的数目。集合S的一个划分是定义为S的两两不相交的非空子集的族,它们的并是S。

每个Bell Number都是Stirling Number II的和。

【Stirling Number】的更多相关文章

  1. 【Stirling Number I】

    hdu 4372 Count the Buildings 推荐这位小哥的,我觉得人家说的灰常的好. 注意数据范围,n,f,b均在(0,2000]范围内,而第一斯特林数的数组范围却是s[2000+5][ ...

  2. 【system.number】使用说明

    对象:system.number 说明:提供一系列针对数值类型的操作 目录: 方法 返回 说明 system.number.isNumber( number ) [True | False] 检测是否 ...

  3. 【Palindrome Number】cpp

    题目: Determine whether an integer is a palindrome. Do this without extra space. click to show spoiler ...

  4. HDU3265 Examining the Rooms【stirling数】

    题目链接: http://acm.hdu.edu.cn/showproblem.php? pid=3625 题目大意: 有N个房间,每一个房间的要是随机放在某个房间内,概率同样.有K次炸门的机会. 求 ...

  5. 【Valid Number】cpp

    题目: Validate if a given string is numeric. Some examples:"0" => true" 0.1 " = ...

  6. 去掉input【type=number】默认的上下箭头

    input::-webkit-inner-spin-button {-webkit-appearance: none;}input::-webkit-outer-spin-button {-webki ...

  7. 【Single Number】cpp

    题目: Given an array of integers, every element appears twice except for one. Find that single one. No ...

  8. 【LeetCode-面试算法经典-Java实现】【136-Single Number(仅仅出现一次的数字)】

    [136-Single Number(仅仅出现一次的数字)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given an array of integers, ev ...

  9. 【Leet Code】Palindrome Number

    Palindrome Number Total Accepted: 19369 Total Submissions: 66673My Submissions Determine whether an ...

随机推荐

  1. (转)UML用例图总结

    用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. [用途]:帮助开发团队以一种可视化的方式理解系统的功能需求. 用例图所包含的元素如下: 1. ...

  2. UVA 796 - Critical Links (求桥)

    Critical Links  In a computer network a link L, which interconnects two servers, is considered criti ...

  3. My97DatePicker的calendar.js的反混淆

    eval(string)函数 <script> eval(function(p, a, c, k, e, d) { p = 'function p(){console.log(" ...

  4. inline(内联函数)

    一般来说,调用函数会造成:目前的指令位置被存储下来,程序流跳转到所调用的函数,然后执行调用函数,最后跳转回之前存储的位置.对于需要常常调用的小函数来说,这会影响程序的运行效率.所以,c99新增了inl ...

  5. 贪心-poj-2437-Muddy roads

    题目链接: http://poj.org/problem?id=2437 题目意思: 给n个区间,每次可以用长度为L的棒A去覆盖,求将所有区间覆盖至少需要几次.给的区间不覆盖. 解题思路: 简单贪心. ...

  6. MySQL timestamp用法

    与timestamp类型相关的类型包括:date类型与datetime类型.date类型只包含日期部分,不包含时间部分,它的格式为'YYYY-MM-DD',支持的范围为'1000-01-01' to ...

  7. 破解NET的四大神器

     原本这篇文章可以更早一星期写出来与大家分享,由于某方面的原因耽搁到现在,心里竟有那么一点好像对不住大家的感觉.这当然与神器有关,因为我发现利用这四大神器我似乎觉得几乎所有的NET程序破解都不在话下了 ...

  8. 数据库MySQL常用命令复习

    -- 查看数据库 show databases; -- 创建数据库 create database '数据库名'; -- 删除数据库 drop database '数据库名'; -- 选库 use ' ...

  9. Selenium 中使用方法小结

    --> 文本框 中填写 文本信息 basePage.getTXTPortfolio().sendKeys("文本信息"); --> 点击某个 文本框/下拉列表 中的 指 ...

  10. 2014广州Java岗位面试汇总

    本文记录了最近一些朋友提供的面试经历,真实数据,仅供广州求职的朋友参考.为行文方便,一律用主语”我“进行.部分词语可能造成读者不良反应,敬请留意. 1  广州沣首信息科技有限公司 公司所在区域相对较偏 ...