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

斯特林数杂谈

斯特林数

第二类斯特林数

定义

记作 \(\begin{Bmatrix} n \\m \end{Bmatrix}\),其组合意义为将 \(n\) 个物品划分为 \(m\) 个无标号集合的方案数。

递推式

\[\begin{Bmatrix} n \\ m \end{Bmatrix}=\begin{Bmatrix} n-1 \\ m-1 \end{Bmatrix} + m\begin{Bmatrix} n-1 \\ m \end{Bmatrix} \]

可以组合意义理解一下,要么新开一个集合,要么并到前面一个集合去。

第一类斯特林数

定义

记作 \(\begin{bmatrix} n \\m \end{bmatrix}\),其组合意义为将 \(n\) 个物品划分为 \(m\) 个无标号非空轮换,也就是圆排列的方案数。

递推式

\[\begin{bmatrix} n \\m \end{bmatrix} = \begin{bmatrix} n-1 \\ m-1 \end{bmatrix} + (n-1)\begin{bmatrix} n-1 \\m \end{bmatrix} \]

要么新开一个集合,要么放在某个元素之前并入一个轮换中。

第二类斯特林数的通项公式

我们来看这样一个组合式子:

\[n^m = \sum_{k=0}^m \begin{Bmatrix} m \\ k \end{Bmatrix} \left(\begin{matrix} n \\ k \end{matrix} \right) k! \]

可以这么理解,你要给 \(m\) 个格子染 \([1,n]\) 的颜色的方案数,一种是直接算;另一种就是说,你先枚举总共用到的颜色数,然后你将序列划分为 \(k\) 组,然后选择 \(k\) 个颜色后定序。这显然都能算出这个方案数,大概是双计数的思想。

把等式右侧看成二项式反演的形式,反演得:

\[n! \begin{Bmatrix} m \\ n \end{Bmatrix} = \sum_{k=0}^n (-1)^{n-k} \left(\begin{matrix} n \\ k \end{matrix} \right) k^m \]

\[\begin{Bmatrix} m \\ n \end{Bmatrix} = \sum_{k=0}^n \frac{(-1)^{n-k} k^m}{k!(n-k)!} \]

这是第二类斯特林数的通项公式。

下降幂与上升幂

定义

\[x^{\underline{n}} = x(x-1) \cdots (x-n+1) \]

\[x^{\overline{n}} = x(x+1) \cdots (x+n-1) \]

非常直观,就是往上或者往下乘一段数。

一点性质

有上下幂的一个转化:

\[\left \{ \begin{matrix} x^{\underline{n}} = (-1)^n(-x)^{\overline{n}} \\x^{\overline{n}} = (-1)^n(-x)^{\underline{n}} \\ \end{matrix}\right. \]

方幂与下降幂与上升幂

方幂转下降幂

\[n^m = \sum_{k=0}^m \begin{Bmatrix} m \\ k \end{Bmatrix} \left(\begin{matrix} n \\ k \end{matrix} \right) k! \Rightarrow n^m = \sum_{k=0}^m \begin{Bmatrix} m \\ k \end{Bmatrix} n^{\underline{k}} \]

上升幂转方幂

\[n^{\overline{m}} = \sum_{k=0}^m \begin{bmatrix} m \\ k \end{bmatrix} x^k \]

斯特林反演

反转公式

先正向推导一下:

\[\begin{align} n^m &= \sum_{k=0}^m \begin{Bmatrix} m \\ k \end{Bmatrix} n^{\underline{k}} \\&= \sum_{k=0}^m \begin{Bmatrix} m \\ k \end{Bmatrix} (-1)^k (-n)^{\overline{k}} \\&= \sum_{k=0}^m \begin{Bmatrix} m \\ k \end{Bmatrix} (-1)^k \sum_{j=0}^k \begin{bmatrix} k \\ j \end{bmatrix} (-n)^j \\&= \sum_{j=0}^m n^j \sum_{k=j}^m \begin{Bmatrix} m \\ k \end{Bmatrix} \begin{bmatrix} k \\ j \end{bmatrix} (-1)^{k-j} \\ \end{align} \rightarrow \]

可以得到:

\[\sum_{k=n}^m \begin{Bmatrix} m \\ k \end{Bmatrix} \begin{bmatrix} k \\ n \end{bmatrix} (-1)^{k-n} = [n=m] \]

同理变换可得:

\[\sum_{k=n}^m \begin{bmatrix} m \\ k \end{bmatrix} \begin{Bmatrix} k \\ n \end{Bmatrix} (-1)^{k-n} = [n=m] \]

懒得写了,随便证一下吧。

斯特林反演式

\[f(n) = \sum_{i=0}^n \begin{Bmatrix} n \\ i \end{Bmatrix} g(i) \Leftrightarrow g(n) = \sum_{i=0}^n (-1)^{n-i} \begin{bmatrix} n \\ i \end{bmatrix} f(i) \]

这里正向推导一下,已知:

\[\left \{ \begin{matrix}f(n ) = \sum_{i=0}^n \left \{ \begin{matrix} n \\ i \end{matrix} \right \} g(i) \\f(n ) = \sum_{i=0}^n [i=n]f(i)\end{matrix}\right. \]

\[\begin{align}f(n ) &= \sum_{i=0}^n [i=n]f(i) \\ &= \sum_{i=0}^n \sum_{j=i}^n \begin{Bmatrix} n \\ j \end{Bmatrix} \begin{bmatrix} j \\ i \end{bmatrix} (-1)^{j-i} f(i)\\&= \sum_{j=0}^n \begin{Bmatrix} n \\ j \end{Bmatrix} \sum_{i=0}^j (-1)^{j-i} \begin{bmatrix} j \\ i \end{bmatrix} f(i)\end{align} \]

\[\Rightarrow g(j) = \sum_{i=0}^j (-1)^{j-i} \begin{bmatrix} j \\ i \end{bmatrix} f(i) \]

超集形式

\[f(n) = \sum_{i \ge n} \begin{Bmatrix} i \\ n \end{Bmatrix} g(i) \Leftrightarrow g(n) = \sum_{i \ge n}(-1)^{n-i} \begin{bmatrix} i \\ n \end{bmatrix} f(i) \]

同样懒得证了。

http://www.jsqmd.com/news/111467/

相关文章:

  • [Non] - 选举
  • 浅析Cursor Rules了解(工作原理、四种规则类型对比、文件结构、分层设计)及如何在项目中使用的最佳实践
  • 辛普森法则
  • GitCode克隆输入账号密码后报错
  • 《嘟嘟脸恶作剧》:说是捏脸,你还真捏脸啊?
  • [生存技能] 速冻包子热处理工艺优化研究:基于家庭厨房环境的操作规程
  • 英语_阅读_if Your computer broke down_待读
  • 《C语言电子书-2026最新版》-C语言数据类型概述
  • RadeGS——PCC损失
  • FFmpeg 关键的结构体
  • 优化:三数之和,最接近的三数之和
  • 自动化机器学习AutoML:TPOT工具从零到实战完整使用教程
  • 实用指南:GitHub 热榜项目 - 日榜(2025-11-20)
  • JAVA国际版同城跑腿源码快递代取帮买帮送同城服务源码支持Android+IOS+H5 - 实践
  • 第六十二篇
  • RadeGS——添加法向量损失
  • 12月18日总结 - 作业----
  • XSS(跨站脚本攻击)
  • 自考ScrumMaster-PSM:经验分享~
  • Python - dataclass
  • P1330 封锁阳光大学
  • 9 个降AI率工具,研究生必看!
  • [POI 2021/2022 R1] Domino 题解
  • 07_软考_程序设计语言
  • 17.行为型 - 观察者模式 (Observer Pattern)
  • 云原生热点聚焦:OpenTofu 1.11.0 发布与关键工具更新
  • GitCode项目创建分支并提交代码
  • Bitcraze介绍
  • 修改 OBS-Studio 的字体
  • Linux上位机Windows上位机C++(QT)开发三菱上位机MC 1E 二进制通信 源码 C++快速实现三菱 MC 1E 二进制 支持三菱FX和A系列PLC A-1E 帧 国产化系统上位机