斯特林数

定义:

自行百度

递推式:

\[ \begin{Bmatrix}n\\k \end{Bmatrix}=\begin{Bmatrix}n-1\\k-1\end{Bmatrix}+k\cdot \begin{Bmatrix}n-1\\k \end{Bmatrix}\\ \begin{bmatrix}n\\k \end{bmatrix}=\begin{bmatrix}n-1\\k-1 \end{bmatrix}+(n-1)\cdot \begin{bmatrix}n-1\\k \end{bmatrix} \]

第二类斯特林数

一个组合数意义清晰的式子:
\[ \displaystyle n^m=\sum_{k=0}^m\begin {Bmatrix}m\\k \end{Bmatrix}C_n^kk!\\ \]
通过二项式反演的得到(这里是将m看作一个常数):
\[ k!\begin {Bmatrix}m\\k \end{Bmatrix}=\sum_{i=0}^k(-1)^{k-i}C_k^ii^m\\ \]
上述式子用容斥原理也很好理解。

我们还可以将上述的式子化为卷积的形式:
\[ \begin{align} \begin {Bmatrix}m\\k \end{Bmatrix}&=\frac{1}{k!}\sum_{i=0}^k(-1)^{k-i}\frac{k!}{i!(k-i)!}i^m\\ &=\sum_{i=0}^k\frac{(-1)^{k-i}}{(k-i)!}\frac{i^m}{i!}\\ \end{align} \]

第二类斯特林数的应用:

【2011集训贾志鹏】Crash的文明世界

【TJOI/HEOI2016】求和

CF 932E Team Work


斯特林数与阶乘幂之间的关系:

第二类斯特林数与下降阶乘幂的关系:

\[ C_n^kk!=n^{\underline k}\\ 所以:\displaystyle n^m=\sum_{k=0}^m\begin {Bmatrix}m\\k \end{Bmatrix}C_n^kk!=\sum_{k=0}^m\begin {Bmatrix}m\\k \end{Bmatrix}n^{\underline k}\\ \]

当然也有第一类斯特林数与上升阶乘幂的关系:

\[ \displaystyle x^{\overline{n}}=\sum_k \begin{bmatrix}n\\k \end{bmatrix}x^k \]

证明使用数学归纳法证明的:

首先我们有\((x+n-1)\cdot x^k=x^{k+1}+(n-1)x^k\)。

所以:
\[ \begin{align} \displaystyle x^{\overline{n}}&=(x+n-1)x^{\overline{n-1}}\\ &=(x+n-1)\sum_k \begin{bmatrix}n-1\\k \end{bmatrix}x^k\\ &=\sum_k \begin{bmatrix}n-1\\k \end{bmatrix}x^{k+1}+\sum_k \begin{bmatrix}n-1\\k \end{bmatrix}x^k (n-1)\\ &=\sum_k \begin{bmatrix}n-1\\k-1 \end{bmatrix}x^{k}+\sum_k \begin{bmatrix}n-1\\k \end{bmatrix}x^k (n-1)\\ &=\sum_k x^k (\begin{bmatrix} n-1\\k-1\end{bmatrix}+(n-1)\begin{bmatrix}n-1\\k\end{bmatrix})\\ &=\sum_k x^k\begin{bmatrix}n\\k\end{bmatrix} \end{align} \]


斯特林反演:

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

首先我们要证明一个叫反转公式的东西:

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

在这之前,我们先考虑如何建立上升阶乘幂与下降阶乘幂之间的关系。

先给出结论:
\[ x^{\underline{n}}=(-1)^n(-x)^{\overline{n}}\\ x^{\overline{n}}=(-1)^n(-x)^{\underline{n}} \]
证明:
\[ \begin{align} (-1)^n(-x)^{\overline{n}}&=(-1)^n(-x)(-x+1)...(-x+n-1)\\ &=(-1)^n(-x)(-(x-1))...(-(x-n+1))\\ &=x(x-1)...(x-n+1)=x^{\underline{n}} \end{align} \]
对于\(x^{\overline{n}}=(-1)^n(-x)^{\underline{n}}\)证明方法相同。
\[ \begin{align} \displaystyle 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}} \end{align} \]
将下式带入:
\[ \displaystyle x^{\overline{n}}=\sum_k \begin{bmatrix}n\\k \end{bmatrix}x^k \]
得:
\[ \begin{align} \displaystyle n^m&=\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}^mn^j\sum_{k=j}^{m}\begin{Bmatrix}m\\k\end{Bmatrix}\begin{bmatrix}k\\j\end{bmatrix}(-1)^{k-j} \end{align} \]
于是我们就得到了一个反转公式,另一个证明方法类似,反过来带入就可以了。
\[ \sum_{k=j}^m\begin{Bmatrix}m\\k\end{Bmatrix}\begin{bmatrix}k\\j\end{bmatrix}(-1)^{k-j}=[j=m] \]
然后我们就可以证明斯特林反演了:
\[ \begin{align} \displaystyle 若满足g(n)&=\sum_{j=0}^n(-1)^{n-j}\begin{bmatrix}n\\j\end{bmatrix}f(j)\\ 则f(n)&=\sum_{j=0}^n[j==n]f(j)\\ &=\sum_{j=0}^n\sum_{k=j}^n\begin{Bmatrix}n\\k\end{Bmatrix}\begin{bmatrix}k\\j\end{bmatrix}(-1)^{k-j}f(j)\\ &=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}\sum_{j=0}^k(-1)^{k-j}\begin{bmatrix}k\\j\end{bmatrix}f(j)\\ &=\sum_{k=0}^n\begin{Bmatrix}n\\k\end{Bmatrix}g(k) \end{align} \]

例题:

2018雅礼集训1-16 方阵

转载于:https://www.cnblogs.com/hchhch233/p/10016543.html

斯特林数-斯特林反演相关推荐

  1. [HEOI2016/TJOI2016]求和(第二类斯特林数)

    题目 [HEOI2016/TJOI2016]求和 关于斯特林数与反演的更多姿势\(\Longrightarrow\)点这里 做法 \[\begin{aligned}\\ Ans&=\sum\l ...

  2. CF932E Team Work(第二类斯特林数)

    题目 CF932E Team Work 前置:斯特林数\(\Longrightarrow\)点这里 做法 \[\begin{aligned}\\ &\sum\limits_{i=1}^n C_ ...

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

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

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

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

  5. CF961G-Partitions【斯特林数】

    正题 题目链接:https://www.luogu.com.cn/problem/CF961G 题目大意 nnn个物品分成kkk个组,每个物品权值为wiw_iwi​.一个子集SSS的权值为∣S∣∑x∈ ...

  6. 斯特林数 java实现_斯特林数学习笔记

    定义 第一类斯特林数\(s(n,m)\)表示把\(n\)个不同元素放到\(m\)个相同圆排列里的方案数. 有转移方程: \[s(n,m)=s(n-1,m-1)+(n-1)\times s(n-1,m) ...

  7. BZOJ.5093.[Lydsy1711月赛]图的价值(NTT 斯特林数)

    题目链接 对于单独一个点,我们枚举它的度数(有多少条边)来计算它的贡献:\[\sum_{i=0}^{n-1}i^kC_{n-1}^i2^{\frac{(n-2)(n-1)}{2}}\] 每个点是一样的 ...

  8. 斯特林数 java实现_斯特林数 - BILL666 - 博客园

    第一类斯特林数 定义 \(\left[\begin{matrix}n\\m\end{matrix}\right]\) 表示将\(n\)个带标号的元素放入\(m\)个不带标号的环的方案数 递推式 \[\ ...

  9. 通俗易懂的斯特林数介绍

    通俗易懂的斯特林数介绍 定义 第一类斯特林数 第二类斯特林数 性质 通项 递推 第一类斯特林数 第二类斯特林数 特殊值 第一类斯特林数 第二类斯特林数 快速幂??? 斯特林反演 定义 第一类斯特林数 ...

最新文章

  1. 安装cv2(opencv-python)遇到的问题
  2. Linux学习资料-万用字符与特殊符号
  3. angular指令监听ng-repeat渲染完成后执行自定义事件方法
  4. flink下载以及兼容性问题
  5. 学习究竟是为了什么?
  6. android系统优势 研究,Android系统关注度持续保持优势
  7. 快速从入门到精通!mysql字符串截取前两位
  8. 在GPU上部署Bert模型
  9. poj 1734 Sightseeing trip(floyd 拓展 求最小环)
  10. linux 内核与分析 -- 内存管理(下)
  11. 计算机永远无法超越人类——从李世石与阿尔法的人机大战中想到的
  12. logistic模型 matlab,logistic模型MATLAB代码
  13. HearthBuddy卡牌无法识别
  14. hibernate的检索策略(抓取策略)
  15. Spring-AOP切入点表达式详解
  16. 总结:Spring boot熔断
  17. 硅谷的程序员, 入职第一天都在干什么?
  18. 最大连接数与每ip连接数的限制
  19. 小杜机器人线下店_小度机器人怎么领养?小度机器人功能最新一览
  20. Cesium 粒子系统应用:消防车灭火模拟

热门文章

  1. apt-get常见错误
  2. python axes函数_matplotlib中的axes.flat做什么?
  3. pythonnamedtuple定义类型_python - namedtuple和可选关键字参数的默认值
  4. rust建深海_rust怎么移动自己的领地柜 | 手游网游页游攻略大全
  5. 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
  6. .net mysql 参数,在MySQL .NET Provider中使用命名参数
  7. hashmap put复杂度_你碰到过几种HashMap在高并发下出现的问题,哪些可能出现的问题...
  8. Elastic-Job项目启动后,控制台一直报Cron表达式有误且Cron表达式与当前配置的表达式不一样
  9. git中的Stash Changes和UnStash Changes用法
  10. 计算机 64位和32位区别,32位和64位的区别