当前位置: 首页 > article >正文

第二类斯特林数

介绍

n n n个不同的小球,要放在 m m m个相同的盒子中,且每个盒子不能为空,问有多少种方案。

第二类斯特林数就是这类问题的答案,其表示方法为 S ( n , m ) S(n,m) S(n,m)

一些公式

我们考虑如何求 S ( n , m ) S(n,m) S(n,m)

首先, S ( 0 , 0 ) = S ( 1 , 1 ) = 1 S(0,0)=S(1,1)=1 S(0,0)=S(1,1)=1 S ( 1 , m ) = 0 S(1,m)=0 S(1,m)=0,其中 m > 1 m>1 m>1

考虑当前放第 n n n个小球,它可以和前面的小球放在一个盒子里,也可以新开一个盒子,那么

S ( n , m ) = m × S ( n − 1 , m ) + S ( n − 1 , m − 1 ) S(n,m)=m\times S(n-1,m)+S(n-1,m-1) S(n,m)=m×S(n1,m)+S(n1,m1)

因为空了就不合法,所以可以用容斥来推通项公式

S ( n , m ) = 1 m ! ∑ i = 0 m ( − 1 ) i C m i ( m − i ) n S(n,m)=\dfrac{1}{m!}\sum\limits_{i=0}^m(-1)^i C_m^i(m-i)^n S(n,m)=m!1i=0m(1)iCmi(mi)n

我们先把盒子看作互不相同,其中 i i i表示至少有 i i i个盒子为空, ( − 1 ) i (-1)^i (1)i是容斥系数, C m i C_m^i Cmi表示在 m m m个盒子中选 i i i个为空, n n n个球任意放在剩下 ( m − i ) (m-i) (mi)个盒子中的方案数为 ( m − i ) n (m-i)^n (mi)n。因为盒子相同,而先前我们把盒子看作互不相同,所以要乘上 1 m ! \dfrac{1}{m!} m!1

还有一个比较常见的公式

m n = ∑ k = 0 n S ( n , k ) × C m k × k ! m^n=\sum\limits_{k=0}^nS(n,k)\times C_m^k\times k! mn=k=0nS(n,k)×Cmk×k!

m n m^n mn其实就是把 n n n个小球任意地放在 m m m个不同的盒子中,每个小球有 m m m种选法,盒子可以为空。而 k k k枚举的就是非空盒子的个数, C n k C_n^k Cnk表示在 n n n个盒子中选 k k k个为空。因为 S ( n , k ) S(n,k) S(n,k)表示将 n n n个不同的球放在 k k k个相同的盒子中,再乘上 k ! k! k!表示放在 k k k个不同的盒子中。方案数相同,所以相等。

为了好看一些,我们也可以将 m , n m,n m,n的定义互换,得到

n m = ∑ k = 0 m S ( m , k ) × C n k × k ! n^m=\sum\limits_{k=0}^mS(m,k)\times C_n^k\times k! nm=k=0mS(m,k)×Cnk×k!


http://www.kler.cn/a/4345.html

相关文章:

  • 51单片机——DS18B20温度传感器
  • LLMs之RAG:《EdgeRAG: Online-Indexed RAG for Edge Devices》翻译与解读
  • VUE学习笔记4__安装开发者工具
  • 清除前端缓存的方式
  • 工作记录小点
  • 编译pytorch——cuda-toolkit-nvcc
  • 多少个X 蓝桥杯模拟
  • dp-一和零
  • 『Linux从入门到精通』第 ⑧ 期 - 项目自动化构建工具——make/Makefile
  • 解决华为云鲲鹏arm架构运行IoTDB经常自动挂掉
  • 腾讯云短信接入发送短信 Java
  • CXL 2.0白皮书解读翻译:计算快速链路,相对于CXL 1.1的改进,有哪些提升和要求
  • 【索引失效如何排查】
  • 100种思维模型之反脆弱思维模型-40
  • 最全总结---36种MySQL时间函数
  • 芯片工程师的ChatGPT初体验(下)
  • Google巨大漏洞让Win10、11翻车,小姐姐马赛克白打了
  • springboot 整合Mybatis-Plus分页、自动填充功能
  • jenkins+sonarqube+自动部署服务
  • 嵌入式学习笔记——PWM与输入捕获(上)
  • leetcode 1402. Reducing Dishes(减少菜肴)
  • linux练习
  • 图解redis的client的实现
  • 如何防御DDOS攻击 DDOS攻击是什么意思
  • golang后端与android端TCP Socket通信数据解析格式问题
  • Linux配置DNS正向和反向解析练习