通俗易懂的斯特林数介绍

  • 定义
    • 第一类斯特林数
    • 第二类斯特林数
  • 性质
    • 通项
    • 递推
      • 第一类斯特林数
      • 第二类斯特林数
    • 特殊值
      • 第一类斯特林数
      • 第二类斯特林数
    • 快速幂???
    • 斯特林反演

定义

第一类斯特林数

将 n n n个元素分成 m m m个无标号的轮换 [ n m ] \begin{bmatrix}n\\m\end{bmatrix} [nm​]
什么叫轮换?
就是把一堆数放在一个圈上,如果可以通过旋转使得圈上的每个位置上数都和另一个圈上的数是相等的,那么这两个圈等价(意思就是它们是同一个轮换)
比如,现在有三个轮换:

第一个轮换和第二个轮换是等价的,第一个和第三个轮换不是等价的
那么,什么叫无标号的轮换?
就是如果一堆轮换调换顺序后和另一堆轮换完全相同(所有对应的轮换等价),那么这两堆轮换就是等价的
比如,现在有两堆轮换:

第一堆轮换和第二堆轮换完全相同,是等价的
为了让大家更了解第一类斯特林数,我们举一个例子: [ 3 2 ] = 3 \begin{bmatrix}3\\2\end{bmatrix}=3 [32​]=3
三种方法如下:

第一类斯特林数还有另一种定义,就是 ∏ i = 0 n − 1 ( x − i ) \prod \limits_{i=0}^{n-1}(x-i) i=0∏n−1​(x−i)的 m m m次项系数叫 [ n m ] \begin{bmatrix}n\\m\end{bmatrix} [nm​]

第二类斯特林数

将 n n n个元素分成 m m m个无标号的集合 { n m } \begin{Bmatrix}n\\m\end{Bmatrix} {nm​}
上面我们已经解释过了无标号的意思,相信大家都知道无标号集合的意思了
为了让大家更了解第二类斯特林数,我们举一个例子: { 3 2 } = 3 \begin{Bmatrix}3\\2\end{Bmatrix}=3 {32​}=3
三种方法如下:

  1. { { 1 } , { 2 , 3 } } \{\{1\},\{2,3\}\} {{1},{2,3}}
  2. { { 2 } , { 1 , 3 } } \{\{2\},\{1,3\}\} {{2},{1,3}}
  3. { { 3 } , { 1 , 2 } } \{\{3\},\{1,2\}\} {{3},{1,2}}

性质

通项

第一类斯特林数貌似没有通项公式(或者是没用或者我太菜了不知道)
第二类斯特林数的通项为 { n m } = 1 m ! ∑ i = 0 m ( − 1 ) i ( m k ) ( m − i ) n \begin{Bmatrix}n\\m\end{Bmatrix}=\frac{1}{m!}\sum \limits_{i=0}^m(-1)^i\binom{m}{k}(m-i)^n {nm​}=m!1​i=0∑m​(−1)i(km​)(m−i)n貌似也没什么用……我不会证……记住就好了我好像也记不住???

递推

第一类斯特林数

[ n m ] = ( n − 1 ) [ n − 1 m ] + [ n − 1 m − 1 ] \begin{bmatrix}n\\m\end{bmatrix}=(n-1)\begin{bmatrix}n-1\\m\end{bmatrix}+\begin{bmatrix}n-1\\m-1\end{bmatrix} [nm​]=(n−1)[n−1m​]+[n−1m−1​]
证明:假如 n − 1 n-1 n−1个元素构成了 m − 1 m-1 m−1个无标号的轮换,第 n n n个元素独自构成一个无标号的轮换,有 [ n − 1 m − 1 ] \begin{bmatrix}n-1\\m-1\end{bmatrix} [n−1m−1​]种方法。如果 n − 1 n-1 n−1个元素构成了 m m m个无标号的轮换,将第 n n n个元素插入到任意元素的左边,有 ( n − 1 ) [ n − 1 m ] (n-1)\begin{bmatrix}n-1\\m\end{bmatrix} (n−1)[n−1m​]种方法
∴ [ n m ] = ( n − 1 ) [ n − 1 m ] + [ n − 1 m − 1 ] \therefore \begin{bmatrix}n\\m\end{bmatrix}=(n-1)\begin{bmatrix}n-1\\m\end{bmatrix}+\begin{bmatrix}n-1\\m-1\end{bmatrix} ∴[nm​]=(n−1)[n−1m​]+[n−1m−1​]

第二类斯特林数

{ n m } = m { n − 1 m } + { n − 1 m − 1 } \begin{Bmatrix}n\\m\end{Bmatrix}=m\begin{Bmatrix}n-1\\m\end{Bmatrix}+\begin{Bmatrix}n-1\\m-1\end{Bmatrix} {nm​}=m{n−1m​}+{n−1m−1​}
证明:假如 n − 1 n-1 n−1个元素构成了 m − 1 m-1 m−1个无标号的集合,第 n n n个元素独自构成一个无标号的集合,有 { n − 1 m − 1 } \begin{Bmatrix}n-1\\m-1\end{Bmatrix} {n−1m−1​}种方法。如果 n − 1 n-1 n−1个元素构成了 m m m个集合,将第 n n n个元素插入到任意集合中,有 m { n − 1 m } m\begin{Bmatrix}n-1\\m\end{Bmatrix} m{n−1m​}种方法
∴ { n m } = m { n − 1 m } + { n − 1 m − 1 } \therefore \begin{Bmatrix}n\\m\end{Bmatrix}=m\begin{Bmatrix}n-1\\m\end{Bmatrix}+\begin{Bmatrix}n-1\\m-1\end{Bmatrix} ∴{nm​}=m{n−1m​}+{n−1m−1​}

特殊值

第一类斯特林数

[ n 0 ] = 0 , [ n 1 ] = ( n − 1 ) ! , [ n n − 1 ] = ( n 2 ) , [ n n ] = 1 \begin{bmatrix}n\\0\end{bmatrix}=0,\begin{bmatrix}n\\1\end{bmatrix}=(n-1)!,\begin{bmatrix}n\\n-1\end{bmatrix}=\binom{n}{2},\begin{bmatrix}n\\n\end{bmatrix}=1 [n0​]=0,[n1​]=(n−1)!,[nn−1​]=(2n​),[nn​]=1
自己想吧,太简单了,不证了

第二类斯特林数

{ n 0 } = 0 , { n 1 } = 1 , { n n − 1 } = ( n 2 ) , { n n } = 1 \begin{Bmatrix}n\\0\end{Bmatrix}=0,\begin{Bmatrix}n\\1\end{Bmatrix}=1,\begin{Bmatrix}n\\n-1\end{Bmatrix}=\binom{n}{2},\begin{Bmatrix}n\\n\end{Bmatrix}=1 {n0​}=0,{n1​}=1,{nn−1​}=(2n​),{nn​}=1
自己想吧,太简单了,不证了

快速幂???

① n m = ∑ i = 0 m { m i } n i ‾ n^m=\sum \limits_{i=0}^{m} \begin{Bmatrix}m\\i\end{Bmatrix} n^{\underline{i}} nm=i=0∑m​{mi​}ni​
其中 n i ‾ n^{\underline{i}} ni​表示 n n n的 i i i次下降幂,即 n i ‾ = ∏ k = 0 i − 1 ( n − k ) n^{\underline{i}}=\prod \limits_{k=0}^{i-1}(n-k) ni​=k=0∏i−1​(n−k)
证明:
当 m = 1 m=1 m=1时, ∑ i = 0 m { m i } n i ‾ = { 1 1 } n = n \sum \limits_{i=0}^{m} \begin{Bmatrix}m\\i\end{Bmatrix} n^{\underline{i}}=\begin{Bmatrix}1\\1\end{Bmatrix} n=n i=0∑m​{mi​}ni​={11​}n=n
假设 m = k m=k m=k时成立
当 m = k + 1 m=k+1 m=k+1时, n k + 1 = n ∑ i = 0 k { k i } n i ‾ = ∑ i = 0 k { k i } ( n i + 1 ‾ + i n i ‾ ) = ∑ i = 0 k { k i } n i + 1 ‾ + ∑ i = 0 k { k i } i n i ‾ = ∑ i = 0 k + 1 { k i − 1 } n i ‾ + ∑ i = 0 k + 1 { k i } i n i ‾ = ∑ i = 0 k + 1 ( { k i − 1 } + i { k i } ) n i ‾ = ∑ i = 0 k + 1 { k + 1 i } n i ‾ n^{k+1}=n\sum \limits_{i=0}^{k} \begin{Bmatrix}k\\i\end{Bmatrix} n^{\underline{i}}=\sum \limits_{i=0}^{k} \begin{Bmatrix}k\\i\end{Bmatrix}\left( n^{\underline{i+1}}+in^{\underline{i}}\right)=\sum \limits_{i=0}^{k} \begin{Bmatrix}k\\i\end{Bmatrix} n^{\underline{i+1}}+\sum \limits_{i=0}^{k} \begin{Bmatrix}k\\i\end{Bmatrix} in^{\underline{i}}=\sum \limits_{i=0}^{k+1} \begin{Bmatrix}k\\i-1\end{Bmatrix} n^{\underline{i}}+\sum \limits_{i=0}^{k+1} \begin{Bmatrix}k\\i\end{Bmatrix} in^{\underline{i}}=\sum \limits_{i=0}^{k+1} \left(\begin{Bmatrix}k\\i-1\end{Bmatrix}+i\begin{Bmatrix}k\\i\end{Bmatrix}\right) n^{\underline{i}}=\sum \limits_{i=0}^{k+1} \begin{Bmatrix}k+1\\i\end{Bmatrix} n^{\underline{i}} nk+1=ni=0∑k​{ki​}ni​=i=0∑k​{ki​}(ni+1​+ini​)=i=0∑k​{ki​}ni+1​+i=0∑k​{ki​}ini​=i=0∑k+1​{ki−1​}ni​+i=0∑k+1​{ki​}ini​=i=0∑k+1​({ki−1​}+i{ki​})ni​=i=0∑k+1​{k+1i​}ni​
∴ n m = ∑ i = 0 m { m i } n i ‾ \therefore n^m=\sum \limits_{i=0}^{m} \begin{Bmatrix}m\\i\end{Bmatrix} n^{\underline{i}} ∴nm=i=0∑m​{mi​}ni​
② n m ‾ = ∑ i = 0 m [ m i ] n i n^{\overline{m}}=\sum \limits_{i=0}^{m} \begin{bmatrix}m\\i\end{bmatrix} n^i nm=i=0∑m​[mi​]ni
其中 n m ‾ n^{\overline{m}} nm表示 n n n的 i i i次上升幂,即 n m ‾ = ∏ i = 0 m − 1 ( n + i ) n^{\overline{m}}=\prod \limits_{i=0}^{m-1}(n+i) nm=i=0∏m−1​(n+i)
证明:
当 m = 1 m=1 m=1时, ∑ i = 0 m [ m i ] n i = [ 1 1 ] n = n \sum \limits_{i=0}^{m} \begin{bmatrix}m\\i\end{bmatrix} n^i=\begin{bmatrix}1\\1\end{bmatrix} n=n i=0∑m​[mi​]ni=[11​]n=n
假设 m = k m=k m=k时成立
当 m = k + 1 m=k+1 m=k+1时, n k + 1 ‾ = ( n + k ) n k ‾ = n ∑ i = 0 k [ k i ] n i + k ∑ i = 0 k [ k i ] n i = ∑ i = 0 k + 1 [ k i − 1 ] n i + ∑ i = 0 k + 1 k [ k i ] n i = ∑ i = 0 k + 1 ( [ k i − 1 ] + k [ k i ] ) n i = ∑ i = 0 k + 1 [ k + 1 i ] n i n^{\overline{k+1}}=(n+k)n^{\overline{k}}=n\sum \limits_{i=0}^{k} \begin{bmatrix}k\\i\end{bmatrix} n^i+k\sum \limits_{i=0}^{k} \begin{bmatrix}k\\i\end{bmatrix} n^i=\sum \limits_{i=0}^{k+1} \begin{bmatrix}k\\i-1\end{bmatrix} n^i+\sum \limits_{i=0}^{k+1} k\begin{bmatrix}k\\i\end{bmatrix} n^i=\sum \limits_{i=0}^{k+1} \left(\begin{bmatrix}k\\i-1\end{bmatrix}+k\begin{bmatrix}k\\i\end{bmatrix}\right) n^i=\sum \limits_{i=0}^{k+1} \begin{bmatrix}k+1\\i\end{bmatrix} n^i nk+1​=(n+k)nk=ni=0∑k​[ki​]ni+ki=0∑k​[ki​]ni=i=0∑k+1​[ki−1​]ni+i=0∑k+1​k[ki​]ni=i=0∑k+1​([ki−1​]+k[ki​])ni=i=0∑k+1​[k+1i​]ni
∴ n m ‾ = ∑ i = 0 m [ m i ] n i \therefore n^{\overline{m}}=\sum \limits_{i=0}^{m} \begin{bmatrix}m\\i\end{bmatrix} n^i ∴nm=i=0∑m​[mi​]ni
③ n m ‾ = ∑ i = 0 m [ m i ] ( − 1 ) m − i n i n^{\underline{m}}=\sum \limits_{i=0}^{m} \begin{bmatrix}m\\i\end{bmatrix} (-1)^{m-i} n^i nm​=i=0∑m​[mi​](−1)m−ini
证明:
当 m = 1 m=1 m=1时, ∑ i = 0 m [ m i ] ( − 1 ) m − i n i = [ 1 1 ] n = n \sum \limits_{i=0}^{m} \begin{bmatrix}m\\i\end{bmatrix} (-1)^{m-i} n^i=\begin{bmatrix}1\\1\end{bmatrix} n=n i=0∑m​[mi​](−1)m−ini=[11​]n=n
假设 m = k m=k m=k时成立
当 m = k + 1 m=k+1 m=k+1时, n k + 1 ‾ = ( n − k ) n k ‾ = n ∑ i = 0 k [ k i ] ( − 1 ) k − i n i − k ∑ i = 0 k [ k i ] ( − 1 ) k − i n i = ∑ i = 0 k + 1 [ k i − 1 ] ( − 1 ) k + 1 − i n i + ∑ i = 0 k + 1 k [ k i ] ( − 1 ) k + 1 − i n i = ∑ i = 0 k + 1 ( [ k i − 1 ] + k [ k i ] ) ( − 1 ) k + 1 − i n i = ∑ i = 0 k + 1 [ k + 1 i ] ( − 1 ) k + 1 − i n i n^{\underline{k+1}}=(n-k)n^{\underline{k}}=n\sum \limits_{i=0}^{k} \begin{bmatrix}k\\i\end{bmatrix} (-1)^{k-i} n^i-k\sum \limits_{i=0}^{k} \begin{bmatrix}k\\i\end{bmatrix} (-1)^{k-i} n^i=\sum \limits_{i=0}^{k+1} \begin{bmatrix}k\\i-1\end{bmatrix} (-1)^{k+1-i} n^i+\sum \limits_{i=0}^{k+1} k\begin{bmatrix}k\\i\end{bmatrix} (-1)^{k+1-i} n^i=\sum \limits_{i=0}^{k+1} \left(\begin{bmatrix}k\\i-1\end{bmatrix}+k\begin{bmatrix}k\\i\end{bmatrix}\right) (-1)^{k+1-i} n^i=\sum \limits_{i=0}^{k+1} \begin{bmatrix}k+1\\i\end{bmatrix} (-1)^{k+1-i} n^i nk+1​=(n−k)nk​=ni=0∑k​[ki​](−1)k−ini−ki=0∑k​[ki​](−1)k−ini=i=0∑k+1​[ki−1​](−1)k+1−ini+i=0∑k+1​k[ki​](−1)k+1−ini=i=0∑k+1​([ki−1​]+k[ki​])(−1)k+1−ini=i=0∑k+1​[k+1i​](−1)k+1−ini
∴ n m ‾ = ∑ i = 0 m [ m i ] ( − 1 ) m − i n i \therefore n^{\underline{m}}=\sum \limits_{i=0}^{m} \begin{bmatrix}m\\i\end{bmatrix} (-1)^{m-i} n^i ∴nm​=i=0∑m​[mi​](−1)m−ini

斯特林反演

若 f ( n ) = ∑ i = 1 n { n i } g ( i ) f(n)=\sum \limits_{i=1}^n\begin{Bmatrix}n\\i\end{Bmatrix}g(i) f(n)=i=1∑n​{ni​}g(i),则 g ( n ) = ∑ i = 1 n ( − 1 ) n − i [ n i ] f ( i ) g(n)=\sum \limits_{i=1}^n(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}f(i) g(n)=i=1∑n​(−1)n−i[ni​]f(i)
这个 − 1 -1 −1的次数怎么这么熟?
是的,这就是上面的③式中 − 1 -1 −1次数
可以用斯特林反演说明①式和③式是等价的
但是这玩意儿好像没啥用,至少我没用过我就没做过几道斯特林数的题目,所以我也不会证……
ps:定义部分从百度百科上的内容删改而成

通俗易懂的斯特林数介绍相关推荐

  1. 第一类斯特林数学习记录

    最近做题有时会碰到斯特林数(Stirling数),就觉得好好的学习一番,于是呢,写下这篇博客,来记录一些知识 简单介绍 第一类斯特林数表示表示将 n 个不同元素构成m个圆排列的数目.--百度百科 第一 ...

  2. 信奥中的数学:斯特林数、卡特兰数

    P1287 盒子与球(球不同 盒不同 不允许有空盒) 盒子与球 - 洛谷 第二类斯特林数总结 第二类斯特林数总结 - _zjz 的博客 - 洛谷博客 P4091 [HEOI2016/TJOI2016] ...

  3. 组合数学之放球问题 【附斯特林数】

    放球问题在组合数学中是一个经典问题,在ACM比赛中也经常会出现类似的题目,这里做一个归纳. 我们假定现在有n个球,要放到m个盒子中,根据情况的不同主要可以分为一下8类(这里确保n>=m) 编号 ...

  4. 第一类Stirling数(第一类斯特林数)

    第一类Stirling数(第一类斯特林数) 定义 第一类Stirling数表示把nnn个不同元素构成mmm个圆的排列方案数,写作s(n,m)s(n,m)s(n,m). 根据正负性分为无符号第一类Sti ...

  5. 《小学生都能看懂的三类斯特林数从入门到升天教程 》(含性质完整证明、斯特林反演、拉赫数)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 真的特别简单,我尽量讲的详细一些,本文包含了几乎所有性质定理证明,老少皆宜 ~ 内容过多,质量过硬,建 ...

  6. 斯特林数、欧拉数的求和技术及应用

    斯特林数和欧拉数   斯特林数主要处理的是将N个不同元素分成k个集合或环的个数问题,可以分为第一类斯特林数和第二类斯特林数,其中第一类斯特林数还分为有符号和无符号两种. 第一类斯特林数   第一类斯特 ...

  7. 快速求斯特林数总结(洛谷模板题解)

    题目链接 第一类斯特林数·行 第一类斯特林数·列 第二类斯特林数·行 第二类斯特林数·列 求一行第一类斯特林数 由第一类斯特林数的推论,\(x^{\overline{n}}=\sum_i\begin{ ...

  8. 【2019雅礼集训】【CF 960G】【第一类斯特林数】【NTT多项式】permutation

    目录 题意 输入格式 输出格式 思路 代码 题意 找有多少个长度为n的排列,使得从左往右数,有a个元素比之前的所有数字都大,从右往左数,有b个元素比之后的所有数字都大. n<=2*10^5,a, ...

  9. BZOJ 2159 「国家集训队」Crash 的文明世界(第二类斯特林数,换根DP)【BZOJ计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2159 是 hydro 的 BZOJ ...

最新文章

  1. CMPP和SMPP协议比较
  2. java中scanner if用法_Java通过Scanner了解if...else if语句
  3. svn回退到历史版本
  4. 2015年10月5日 正式启用该博客
  5. FIR和IIR的区别+差分方程的单位冲激响应(matlab图解)
  6. Linux sudo找不到命令:修改sudo的PATH路径
  7. 有关锁和内存使用的DMV
  8. (转)页面滚动条(scrollbar)颜色设置详解
  9. execjs._exceptions.ProgramError: TypeError: ‘JSON‘ 未定义
  10. 励志生活-英国式选秀带来的启示
  11. constraintlayout布局新特性_进阶ConstraintLayout-2.0新特性
  12. 26复杂类型比较,使用Compare .NET objects组件
  13. 为vim编辑器设置行号
  14. 最简单vivo机器怎么不root激活XPOSED框架
  15. Hexo 添加百度统计
  16. VirtualBox的菜单栏被隐藏的解决办法
  17. Jaspersoft Studio 创建简单报表
  18. 内存的分配和回收实验(首次适配、下次适配、最佳适配、最坏适配)
  19. CSAPP笔记 第一章第二章
  20. 如何在系统测试中关注安全问题

热门文章

  1. 阿里云MAVEN/华为MAVEN/腾讯云MAVEN 仓库地址
  2. 2、深度剖析ConcurrentHashMap
  3. C++ - 实现strcpy函数
  4. 【图像处理】基于分形插值算法实现换脸含Matlab源码
  5. 同为博客,不同风格 ——Hexo另类搭建
  6. 小程序云开发如何多表联查三表联查?
  7. BATCH: A Scalable Asymmetric DiscreteCross-Modal Hashing--文献翻译
  8. (二十六)Fama-French三因素模型及应用
  9. 4. 同步方式(增量和全量)
  10. GRIB2 资料处理