Stirling数入门
第一类Stirling数
定义
$$
\begin{aligned}
(x)_n & =x(x-1)...(x-n+1)\\
&= s(n, 0) + s(n,1)x +..+s(n,n)x^n\\
\end{aligned}$$
例如,$n=3$ 时,
$(x)3 = x(x-1)(x-2)$
$(x)3 = x^0 + 2x -3x^2 + x^3$
于是 $s(3,0)=0,s(3,1)=2,s(3,2)=-3,s(3,3)=1$
有符号斯特林数和无符号斯特林数有如下关系:
$$s(n, k) = (-1)^{n-k}\begin{bmatrix} n\\ k \end{bmatrix}$$
下文的 $s(n, k)$ 都是指的无符号的了。
理解
$n$ 个人围着 $k$ 个相同圆桌,每个桌子非空的方案数就是 $s(n, k)$。
也就是将 $n$ 个不同元素分成 $k$ 组,每组中的元素再进行圆排列的方法数。
例如,$s(4, 2) = 11$
- (A,B)(C,D)
- (A,C)(B,D)
- (A,D)(B,C)
- (A)(B,C,D)
- (A)(B,D,C)
- (B)(A,C,D)
- (B)(A,D,C)
- (C)(A,B,D)
- (C)(A,D,B)
- (D)(A,B,C)
- (D)(A,C,B)
易得一个递推式,
人a独占一桌:$s(n-1, k-1)$
人a不独占一桌:先将 $n-1$ 个人安排好,再将a安排到任一人的右边,$(n-1)*s(n-1, k)$
所以,$s(n, k) = s(n-1. k-1) + (n-1)*s(n-1, k)$
第二类Stirling数
定义
与第一类Stirling数类似,可以用下降阶乘幂定义:
$$x^n = \sum_{k=0}^ns(n, k)(x)_k$$
例如,$n=3$ 时
$$x^3 = s(3, 0)(x)_0 + s(3,1)(x)_1 + s(3,2)(x)_2+s(3,3)(x)_3$$
即 $x^3 = s(3, 0) + s(3,1)x + s(3,2)x(x-1)+s(3,3)x(x-1)(x-2)$
开并合并同类项,得
$$x^3 = s(3,0) + [(3,1)-s(3,2)+2s(3,3)]x + [s(3,2)-3s(3,3)]x^2 + s(3,3)x^3$$
对比系数,解得
$s(3,0)=0, s(3,1)=1,s(3,2)=3,s(3,3)=1$
理解
将含有 $n$ 个元素的集合拆分成 $k$ 个非空子集的方法数就是第二类Stirling数。
也就是将 $n$ 个有区别的球放到 $k$ 个盒子里的方案数。
例如,$s(4,2)=7$(自行前前面对比),
- (A,B)(C,D)
- (A,C)(B,D)
- (A,D)(B,C)
- (A)(B,C,D)
- (B)(A,C,D)
- (C)(A,B,D)
- (D)(A,B,C)
也与第一类Stirling数有类似的递推式(初始条件都相同):
$$s(n, m) = s(n-1, m-1) + m*s(n-1, m)$$
证:
等价于将 $n$ 个有区别的球放到 $k$ 个盒子里的方案数,
若球a独占一盒,$s(n-1, m-1)$
若球a不独占一盒,先将剩下的 $n-1$ 个放入 $m$ 个盒子中且不允许有空盒,再将球a放入其中一盒,$ms(n-1, m)$.
补充:
参考链接:
1.https://blog.csdn.net/doyouseeman/article/details/50876786
2. https://zh.wikipedia.org/wiki/斯特林数
Stirling数入门的更多相关文章
- Bell(hdu4767+矩阵+中国剩余定理+bell数+Stirling数+欧几里德)
Bell Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- lightOJ 1326 Race(第二类Stirling数)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1326 题意:有n匹马赛跑.问有多少种不同的排名结果.可以有多匹马的排名相同. 思路:排 ...
- 斯特灵数 (Stirling数)
@维基百科 在组合数学,Stirling数可指两类数,都是由18世纪数学家James Stirling提出的. 第一类 s(4,2)=11 第一类Stirling数是有正负的,其绝对值是个元素的项目分 ...
- hdu 4372 第一类stirling数的应用/。。。好题
/** 大意: 给定一系列楼房,都在一条水平线上,高度从1到n,从左侧看能看到f个, 从右侧看,能看到b个,问有多少种这样的序列.. 思路: 因为肯定能看到最高的,,那我们先假定最高的楼房位置确定,那 ...
- HDU 3625 Examining the Rooms:第一类stirling数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3625 题意: 有n个房间,每个房间里放着一把钥匙,对应能开1到n号房间的门. 除了1号门,你可以踹开任 ...
- HDU 4372 Count the Buildings:第一类Stirling数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4372 题意: 有n栋高楼横着排成一排,各自的高度为1到n的一个排列. 从左边看可以看到f栋楼,从右边看 ...
- 整理一点与排列组合有关的问题[组合数 Stirling数 Catalan数]
都是数学题 思维最重要,什么什么数都没用,DP直接乱搞(雾.. 参考LH课件,以及资料:http://daybreakcx.is-programmer.com/posts/17315.html 做到有 ...
- [总结] 第二类Stirling数
上一道例题 我们来介绍第二类Stirling数 定义 第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或者 .和第一类Stirling数不同的是,集合 ...
- 贝尔数(来自维基百科)& Stirling数
贝尔数 贝尔数以埃里克·坦普尔·贝尔(Eric Temple Bell)为名,是组合数学中的一组整数数列,开首是(OEIS的A000110数列): Bell Number Bn是基数为n的集合 ...
随机推荐
- Delphi快递鸟【支持快递查询和单号识别】
作者QQ:(648437169) 点击下载➨Delphi快递鸟 [delphi快递鸟]支持快递查询.单号识别.
- 创建包含CRUD操作的Web API接口4:实现Put方法
本节教程是前三节的延续,在前面我们创建了Web API和必要的基础设施,也实现了Get和Post方法.接下来,我们将在Web API中实现Put方法. RESTful架构中,HTTP PUT方法用于在 ...
- HBase 系列(一)—— HBase 简介
一.Hadoop的局限 HBase 是一个构建在 Hadoop 文件系统之上的面向列的数据库管理系统. 要想明白为什么产生 HBase,就需要先了解一下 Hadoop 存在的限制?Hadoop 可以通 ...
- 《JAVA高并发编程详解》-Thread对象的启动
当我们用关键字new创建一个Thread对象时,此时它并不处于执行状态,因为没有调用start方法启动该线程,那么线程的状态为NEW状态,NEW状态通过start方法进入RUNNABLE状态. 线程一 ...
- ASP.NET WebApi 学习与实践系列(2)---WebApi 路由请求的理解
目录 写在前面 WebApi Get 请求 1.无参数的请求 2.一个参数的请求 3.多个参数的请求 4.实体参数的请求 WebApi Post 请求 1.键值对请求 2.dynamic 动态类型请求 ...
- A Deep Dive Into Draggable and DragTarget in Flutter
https://medium.com/flutter-community/a-deep-dive-into-draggable-and-dragtarget-in-flutter-487919f6f1 ...
- 又一个js乱码的秘密alert放在js文件里中文乱码,可是放在HTML里显示中文就很好
用文本文档打开你的js文件,文件-另存为,编码更改为UTF-8保存. 回复 | PFly | 园豆:94 (初学一级) | 2017-07-17 21:32 显示结果中文乱码 支持(0)反对(0)回复 ...
- honeydctl命令
# honeydctl Honeyd 1.5c Management Console Copyright (c) 2004 Niels Provos. All rights reserved. See ...
- linux 中常遇到的问题
1.上传文件是速度为零 xshell连接对应的Ubuntu服务器上在Ubuntu服务器上安装lrzszsudo apt install lrzsz xshell连接对应的centos服务器上 yum ...
- echarts 曲线平滑配置
来源:https://blog.csdn.net/sinat_36422236/article/details/62430114 series : [ { name:'your name', symb ...