注意这里讲的是斯特林数而非斯特林公式。

斯特林数分两类:第一类斯特林数 和 第二类斯特林数。 分别记为

首先描述第二类斯特林数

描述为:将一个有n件物品的集合划分成k个非空子集的方法数。

比如集合{1,2,3,4}有以下划分:

{1,2,3}U{4}   {1,2,4}U{3}   {1,3,4}U{2}   {2,3,4}U{1}  {1,2}U{3,4}   {1,3}U{2,4}  {1,4}U{2,3}.

7个这样的划分。

记为

那么有一下第二类斯特林数交给你计算。

根据定义,易得答案分别为:0,1,n,0.

之后考虑一个这样的式子

把一个集合划分为两个子集。

思路:

把最后一个元素拿出来。

这时有两种可能。1:最后一个元素自成一个集合。2:最后一个元素和前面的集合中一个子集为一个元素。

这种思想不只是用在k = 2的时候。扩展到全部的k上。

原理不讲。一方面是为了自己将来看的时候能够自己思考。另一外方面其实和推导的方法差不多。

List:

表格数据确实重要。有时候Stiring Number 说不定是藏在题目中 你发现不了的。而你可以通过打表大胆猜测。

1 7 6 1

1 15 25 10 1

1 31 90 65 15 1

值得记住。

再是描述第一类斯特林数

意义:轮换。即n个元素能够分成k个轮换。

轮换:即新的轮换不能通过旧的轮换进行数组移位得到。

[A,B,C,D] = [B,C,D,A] = [C,D,A,B] = [D,A,B,C].

上述都是表示同一个轮换。

而[A,B,C] 和 [A,C,B] 是两个不同的轮换。

比如n = 4. k=2时。

有11个轮换:

[1,2,3][4]  [1,2,4][3]  [1,3,4][2]  [2,3,4][1]

[1,3,2][4]  [1,4,2][3]  [1,4,3][2]  [2,4,3][1]

[1,2][3,4]  [1,3][2,4]  [1,4][2,3]

记为

另外对于n>0

这个式子易得。 n个元素全排列。对于一种排列有另外n-1种可以通过数组移位得到。所以归为1种。

即n!/n = (n-1)!.

另外还有以下性质。

注意是两类斯特林数的关系。

同样地,第一类斯特林数也有递推式。

重点是那个(n-1)的理解。

举个例子。

[1,2,3] 中添加 4 构成[1,2,3,4]

[2,3,1] 中添加 4 构成[2,3,1,4]

[3,1,2] 中添加 4 构成[3,1,2,4]

而前面的轮换都是属于一个轮换。而构成了3个不同的轮换。所以一定不像第二类斯特林数一样是k.

而这种情况可以发现。前面集合中的每个数都出现一次在集合的第一个位置。所以是n-1个。

List:

2 3 1

6 11 6 1

24 50 35 10 1

值得记在脑中。

另外对于轮换。我们可以和排列对应起来。

1 2 3 4 5 6 7 8 9

3 8 4 7 2 9 1 5 6

1->3 3->4 4->7 7->1 为一个轮换 [1,3,4,7]

2->8 8->5 5->2    为一个轮换 [2,8,5]

6->9 9->6                  为一个轮换 [6,9]

对于任意一个排列总是有一个轮换是对应的。由此我们可以列出。

另外在具体数学的后面有一个这样联系第一类和第二类斯特林数的式子

当然中间在具体数学里还有很多精彩美妙绝伦的证明以及推导。还有公式。具体就不列出来了。

just an introduction.

具体数学斯特林数-----致敬Kunth的更多相关文章

  1. 具体数学数论章-----致敬Kunth

    整除性(divisible): 引入了代表整除性. m\n (m|n) 表示m整除n.注意这里的整除.表示的是n = km(k为整数). 在整除性这里.m必须是个正数.也许你可以描述n 是 m 的k倍 ...

  2. 数学杂烩总结(多项式/形式幂级数+FWT+特征多项式+生成函数+斯特林数+二次剩余+单位根反演+置换群)

    数学杂烩总结(多项式/形式幂级数+FWT+特征多项式+生成函数+斯特林数+二次剩余+单位根反演+置换群) 因为不会做目录所以请善用ctrl+F 本来想的是笔记之类的,写着写着就变成了资源整理 一些有的 ...

  3. [BJOI2019]勘破神机(斯特林数+二项式定理+数学)

    题意:f[i],g[i]分别表示用1*2的骨牌铺2*n和3*n网格的方案数,求ΣC(f(i),k)和ΣC(g(i),k),对998244353取模,其中l<=i<=r,1<=l< ...

  4. [题解] LOJ 3300 洛谷 P6620 [省选联考 2020 A 卷] 组合数问题 数学,第二类斯特林数,下降幂

    题目 题目里要求的是: \[\sum_{k=0}^n f(k) \times X^k \times \binom nk \] 这里面出现了给定的多项式,还有组合数,这种题目的套路就是先把给定的普通多项 ...

  5. bzoj5093图的价值:多项式,斯特林数(二项式反演)

    Description “简单无向图”是指无重边.无自环的无向图(不一定连通). 一个带标号的图的价值定义为每个点度数的k次方的和. 给定n和k,请计算所有n个点的带标号的简单无向图的价值之和. 因为 ...

  6. hdu 4045 2011北京赛区网络赛F 组合数+斯特林数 ***

    插板法基础知识 斯特林数见百科 #include<iostream> #include<cmath> #include<cstdio> #include<cs ...

  7. HDU 4045 Machine scheduling (组合数学-斯特林数,组合数学-排列组合)

    Machine scheduling Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  8. 【HDU 4372】 Count the Buildings (第一类斯特林数)

    Count the Buildings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  9. dp 斯特林数 HDU2512一卡通大冒险

    这道题其实就是斯特林数,找不同的集合,一共有多少中组法,递推式就是dp[n][k] = dp[n - 1][k - 1] + k * dp[n - 1][k]; 这个式子可以这么解释,dp[n][k] ...

随机推荐

  1. java 定义三分钟之前的时间

    public String getCurrentTime(){SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ...

  2. mongdb基础

    查看数据库 show dbs; 切换到需要使用的数据库:use local; 显示集合中的数据库表:show collections; 切换到数据库test,如果数据库不存在,则自动创建 插入数据 d ...

  3. Windows Powershell统计代码行数

    dir .\ -Recurse *.py | Get-Content | Measure-Object

  4. Linux学习(一)------CentOs安装mysql5.5 数据库

    具体方法和步骤如下所示: 1.第一步就是看linu是否安装了mysql,经过rpm -qa|grep mysql查看到centos下安装了mysql5.1,那就开始卸载咯 2.接下来就是卸载mysql ...

  5. 一个web应用的诞生(4)--数据存储

    上一章实现了登录的部分功能,之所以说是部分功能,是因为用户名和密码写成固定值肯定是不可以的,一个整体的功能,至少需要注册,登录,密码修改等,这就需要提供一个把这些值存储到数据库的能力. 当前的主流数据 ...

  6. Appium+python 自动发送邮件(1)(转)

    (原文:https://www.cnblogs.com/fancy0158/p/10056091.html) SMTP:简单传输协议,实在Internet上传输Email的事实标准. Python的s ...

  7. katalon系列十一:Katalon Studio在Jenkins持续集成

    以下在WIN10上运行正常.安装准备:一.安装Katalon Studio二.安装Jenkins三.获取Katalon命令行运行命令:点击工具栏的‘Build CMD’按钮,选择测试集以及其他选项:选 ...

  8. https双向认证网站搭建

    新建网站 在搭建网站证书之前,我们先搭建好我们的网站 1.网站基本搭建 为我们的项目新建一个网站,按照如下的步骤来 1,打开IIS,右键单击网站弹出菜单,选择网站(如图1.1.1) 图1.1.1 2, ...

  9. spring-boot断点调试(IDEA)

  10. Linux建立互信关系(ssh公钥登录)

    Linux有多种登录方式,比如telnet.ssh.支持ssh登录方式:口令登录和公钥登录 ssh登录方式:ssh [-l login_name] [-p port] [user@]hostname ...