第二类斯特林数

第二类Stirling数:S2(p, k)
1.组合意义:第二类Stirling数计数的是把p个互异元素划分为k个非空集合的方法数
2.递推公式:
S2(0, 0) = 1
S2(p, 0) = 0 ( p >= 1)  显然p >= 1时这种方法不存在
S2(p, p) = 1  显然这时每个元素看为一个集合
S2(p, k) = k * S2(p - 1, k) + S2(p - 1, k - 1)
考虑将1,2,3,...,p划分为k个非空集合,考虑p
⑴将p单独划分为一个集合,此时的方案数等于将1,2,3,...,p -1划分为k - 1个非空集合的方案树,及S2(p - 1, k - 1)。
⑵将p和其他元素放一块,先考虑将1,2,3,..., p - 1划分为k个非空集合,此时p有k种放法,即k * S2(p - 1, k)。
故 S2(p, k) = k * S2(p - 1, k) + S2(p - 1, k - 1)
3.类pascal三角形:如二项式那样,可以构造这些Stiring数S2(p, k)的类pascal三角形。
  0 1 2 3 4 5 6 ...
0 1              
1 0 1            
2 0 1 1          
3 0 1 3 1        
4 0 1 7 6 1      
5 0 1 15 25 10 1    
6 0 1 31 90 65 15 1  
...                
 
 
 
 
 
 
 
 
 
 
 
4.通项公式:
先把这k个集合看为互异的,则可以通过容斥原理计算将p个元素放入k个互异集合的个数,再除以k!即可(公式不好打。。。)
 
bell数:
1.组合意义:将p个元素划分为若干集合的方法数。
2.B(p) = S2(p, 0) + S2(p, 1) + S2(p, 2) + ... + S2(p, p)
集合数显然不能超过p,故bell数即为Stirling数求和
3.递推公式:其中C(n, m)表示n元集中m元子集的个数
B(p) = C(p - 1, 0) * B(0) + C(p - 1, 1) * B(1) + ... + C(p - 1, p - 1) * B(p - 1)
把集合{1, 2, 3, 4, ..., p}划分为若干集合的方法数,考虑元素p
若令p所在集合有p - k个元素,则剩下的元素为k个,在p - 1个元素中选k个,故此时有C(p - 1, k) * B(k) 个方案,求和即可
 
第一类Stirling数为把p个元素划分为k个非空循环排列的方案数。
S1(p, k) = (p - 1) * S1(p - 1, k) + S1(p - 1, k - 1)
//没有代码
 
 
 
 

第二类Stirling数的更多相关文章

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

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

  2. [总结] 第二类Stirling数

    上一道例题 我们来介绍第二类Stirling数 定义 第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或者 .和第一类Stirling数不同的是,集合 ...

  3. [BZOJ5093]图的价值(NTT+第二类Stirling数)

    5093: [Lydsy1711月赛]图的价值 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 250  Solved: 130[Submit][Sta ...

  4. LightOJ 1326 – Race 第二类Stirling数/

    简单的模板题. 题意:问n匹马出现的不同排名数. 题解:可以使用DP,本质上还是第二类Stirling数(隔板法) #include <stdio.h> #include <iost ...

  5. HDU 2643 Rank:第二类Stirling数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2643 题意: 有n个个选手参赛,问排名有多少种情况(可以并列). 题解: 简化问题: 将n个不同的元素 ...

  6. 第二类Stirling数初探 By cellur925

    上午noi.ac崩崩崩了,栽在组合数学上,虽说最后在辰哥&Chemist的指导下A掉了此题,也发现自己组合数学太弱了qwq. 在luogu上找题,结果找到了一个第二类斯特林数的题(还是双倍经验 ...

  7. 自然数幂和——第一类Stirling数和第二类Stirling数

    第一类Stirling数 首先设 $$S_k(n)=\sum_{i=0}^ni^k$$ 根据第一类斯特林数的定义(P是排列数,C是组合数,s是Stirling) $$C_n^k={P_n^k\over ...

  8. (转) [组合数学] 第一类,第二类Stirling数,Bell数

    一.第二类Stirling数 定理:第二类Stirling数S(p,k)计数的是把p元素集合划分到k个不可区分的盒子里且没有空盒子的划分个数. 证明:元素在哪些盒子并不重要,唯一重要的是各个盒子里装的 ...

  9. 第一类和第二类Stirling数

    做了老是忘…… 实际问题: 找维基百科.百度百科…… 第一类Stirling数 n个元素构成m个圆排列 S(n,m)=S(n-1,m-1)+(n-1)*S(n-1,m) 初始 S(0,0)=1 S(n ...

随机推荐

  1. 【做题】HDU6331 Walking Plan——矩阵&分块

    题意:给出一个有\(n\)个结点的有向图,边有边权.有\(q\)组询问,每次给出\(s,t,k\),问从\(s\)到\(t\)至少经过\(k\)条边的最短路. \(n \leq 50, \, q \l ...

  2. (转)tomcat架构&session共享

    (二期)16.tomcat的整体架构与session共享方案 [课程16]tomcat...共享.xmind47.6KB [课程16]tomcat...流程.xmind0.6MB [课程16]tomc ...

  3. Optical Flow related Tutorials

    Optical Flow related Tutorials 2017-04-01 10:50:55 Reference: 1. http://blog.csdn.net/carson2005/art ...

  4. 所有JTAG集成电路都应该支持菊花链

    菊花链 在电气和电子工程中,菊花链是一种布线方案,其中多个设备按顺序或环形连接在一起.相邻设备才能通信.菊花链可用于电源,模拟信号,数字数据或其组合. 但是由于菊花链的串联特性,如果任何一个设备从链路 ...

  5. 3、Python迭代器、列表解析及生成器(0530)

    1.动态语言 sys.getrefcount()    //查看对象的引用计数 增加对象的引用计数场景 对象创建时:以赋值的方式,创建变量名的同时就会创建变量 将对象添加进容器时:类似list.app ...

  6. Lintcode9-Fizz Buzz-Easy

    Fizz Buzz Given number n. Print number from 1 to n. But: when number is divided by 3, print "fi ...

  7. cp命令覆盖文件时不用按Y来确认的方法

    我们在Linux下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖.文件数量不多还好,但是要是几百个估计按Y都要吐血了,于是折腾来半天总结 ...

  8. maven 引入外部jar包的几种方式

    方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--& ...

  9. Django与CSRF 、AJAX

    CSRF(Cross-site request forgery)跨站请求伪造,是一种常见的网络攻击手段,具体内容和含义请大家自行百度. Django为我们提供了防范CSRF攻击的机制. 一.基本使用 ...

  10. session常用操作

    session介绍: 1. session和cookie的区别在于,cookie是把信息保存在用户本地的浏览器中,而session是把信息保存在服务器端的内存中, 2. 浏览器向服务器发送一个类键值对 ...