Updating....
这几个玩意儿要记的东西太多太乱所以写blog整理一下
虽然蒯的成分会比较多全部
我居然开始记得写blog了??

第一类

这里讨论的是无符号类型的。
OEIS编号A130534

表示方法

\(s(n,m)\)或者\(\begin{bmatrix}n \\ m\end{bmatrix}\)
注意前者是小写s

意义

\(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}\]
这个就是说新建一个环排列或者插入已有的环排列
可怕 这很\(O(n^2)\)

各种性质

\(\begin{bmatrix}n\\1\end{bmatrix}=(n-1)!\)
\(\begin{bmatrix}n\\2\end{bmatrix}=(n-1)!\times\sum_{i=1}^{n-1}\frac 1 i\)
\(\sum_{i=0}^n \begin{bmatrix}n\\i\end{bmatrix}=n!\)
\(\begin{bmatrix}n\\n-1\end{bmatrix}=\binom{n}{2}\)
这里就不给出证明了
别的地方都有
也挺好记好想的
maybe

第二类

OEIS编号A008277

表示方法

\(S(n,m)\)或者\(\left\{\begin{matrix}n \\ m\end{matrix}\right\}\)
当然这里是大写S

意义

\(n\)个元素的集定义\(m\)个等价类的方法数目
。。。wiki害人
就是从环排列变成集合划分了
当然也要保证非空

求法

递归求解法
\[\begin{Bmatrix}n\\m\end{Bmatrix}=\begin{Bmatrix}n-1\\m-1\end{Bmatrix}+m\begin{Bmatrix}n-1\\m\end{Bmatrix}\]
同样也可以解释,新建or插入已有的
再次\(O(n^2)\)??别啊
幸好这玩意儿能搞容斥,通项就有了
\[\begin{Bmatrix}n\\m\end{Bmatrix}=\frac{1}{m!}\sum\limits_{k=0}^{m}(-1)^k\binom{m}{k}(m-k)^n\]
\(O(n)\)求解不是梦
好吧只求一个用这个会快
最重要的是这个能卷,也好搞些别的???
稍微整理一下
\[\left\{\begin{matrix}n\\m\end{matrix}\right\}=\sum_{k=0}^m\frac{(-1)^k}{k!}\frac{(m-k)^n}{(m-k)!}\]
就很舒服

Stirling 反演

两个柿子挺好记
但我暂时还搞不清具体是干嘛的。。。
\[f(x) = \sum_{i=0}^x \begin{Bmatrix}x\\i\end{Bmatrix} g(i) \Leftrightarrow g(x) = \sum_{i=0}^x (-1) ^ {x - i}\begin{bmatrix}x\\i\end{bmatrix} f(i)\]
\[f(x) = \sum_{i=0}^x \begin{bmatrix}x\\i\end{bmatrix} g(i) \Leftrightarrow g(x) = \sum_{i=0}^x (-1) ^ {x - i}\begin{Bmatrix}x\\i\end{Bmatrix} f(i)\]

Bell数

OEIS编号A000110
就是把第二类stirling数的集合划分个数限制去掉了
只限制了基数
也就是
\[B_n=\sum_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}\]
当然也可以直接\(O(n)\)递推
\[B_{n+1}=\sum_{k=0}^n\binom{n}{k}B_{k}\]

参考

%%%
https://www.cnblogs.com/NaVi-Awson/p/9242645.html
https://www.cnblogs.com/ezoiLZH/p/9424911.html
https://www.cnblogs.com/owenyu/p/6724661.html
https://blog.csdn.net/winycg/article/details/70233717

Stirling数笔记的更多相关文章

  1. lightOJ 1326 Race(第二类Stirling数)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1326 题意:有n匹马赛跑.问有多少种不同的排名结果.可以有多匹马的排名相同. 思路:排 ...

  2. 斯特灵数 (Stirling数)

    @维基百科 在组合数学,Stirling数可指两类数,都是由18世纪数学家James Stirling提出的. 第一类 s(4,2)=11 第一类Stirling数是有正负的,其绝对值是个元素的项目分 ...

  3. hdu 4372 第一类stirling数的应用/。。。好题

    /** 大意: 给定一系列楼房,都在一条水平线上,高度从1到n,从左侧看能看到f个, 从右侧看,能看到b个,问有多少种这样的序列.. 思路: 因为肯定能看到最高的,,那我们先假定最高的楼房位置确定,那 ...

  4. HDU 3625 Examining the Rooms:第一类stirling数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3625 题意: 有n个房间,每个房间里放着一把钥匙,对应能开1到n号房间的门. 除了1号门,你可以踹开任 ...

  5. HDU 4372 Count the Buildings:第一类Stirling数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4372 题意: 有n栋高楼横着排成一排,各自的高度为1到n的一个排列. 从左边看可以看到f栋楼,从右边看 ...

  6. 整理一点与排列组合有关的问题[组合数 Stirling数 Catalan数]

    都是数学题 思维最重要,什么什么数都没用,DP直接乱搞(雾.. 参考LH课件,以及资料:http://daybreakcx.is-programmer.com/posts/17315.html 做到有 ...

  7. [总结] 第二类Stirling数

    上一道例题 我们来介绍第二类Stirling数 定义 第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或者 .和第一类Stirling数不同的是,集合 ...

  8. Bell(hdu4767+矩阵+中国剩余定理+bell数+Stirling数+欧几里德)

    Bell Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status  ...

  9. 贝尔数(来自维基百科)& Stirling数

    贝尔数   贝尔数以埃里克·坦普尔·贝尔(Eric Temple Bell)为名,是组合数学中的一组整数数列,开首是(OEIS的A000110数列):   Bell Number Bn是基数为n的集合 ...

随机推荐

  1. 《javascript模式--by Stoyan Stefanov》书摘--基本技巧

    一.基本技巧 1,变量释放的副作用 a.使用var创建的全局变量(在函数外部创建)不能删除. b.不使用var创建的隐含全局变量(尽管在函数内部创建)可以删除. // 定义三个全局变量 var glo ...

  2. 从电梯问题,看c和c++之间的区别(有点懂了)错觉错觉

    磕磕碰碰的也相继用c和c++构造了不少的电梯了.虽然对自我的表现不满意,但是总体来说还是有一定的收获的,对于c和c++之间的区别感觉也摸到了一点点门道了... 用c语言构造电梯的步骤: 第一步: 分析 ...

  3. 《剑指offer》---两个栈实现队列

    本文算法使用python3实现 1.题目描述:   用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.   时间限制:1s:空间限制:32768K 2.思路描述:   ...

  4. 【week6】约跑App视频链接

    约跑视频链接发布在优酷,链接如下: http://v.youku.com/v_show/id_XMTc3NTcyNTcyNA==.html 秒拍视频连接: http://www.miaopai.com ...

  5. xpath教程二 ---- 通过ID和Class检索

    必备知识点 在html中,id是唯一的 在html中,class是可以多处引用的 工具 Python3版本 lxml库[优点是解析快] HTML代码块[从网络中获取或者自己杜撰一个] requests ...

  6. C/C++打印堆栈信息

    转自:http://www.cnblogs.com/zhurizhe/p/3412369.html 在C/C++程序中打印当前函数调用栈 前几天帮同事跟踪的一个程序莫名退出,没有core dump(当 ...

  7. Python 时间推进器-->在当前时间的基础上推前n天 | CST时间转化标准日期格式

    由于公司任务紧迫,好久没有在园子里写自己的心得了,今天偷个闲发表点简单的代码块,在开源的时代贡献微薄力量.话不多说,直接上代码块: ]) m = ]) d = ]) the_date = dateti ...

  8. 数据包从tcp->ip发出去

    ip_local_out->OUTPUT->dst_out->ip_output-> POSTROUTING -->ip_output_finish 上面的路径中啊,在O ...

  9. concurrenthashmap jdk1.8

    参考:https://www.jianshu.com/p/c0642afe03e0 CAS的思想很简单:三个参数,一个当前内存值V.旧的预期值A.即将更新的值B,当且仅当预期值A和内存值V相同时,将内 ...

  10. [Leetcode] 1.Two Sum(unordered_map)

    1.首先想到的方法就是两个for循环全部遍历,代码如下,可通过,但效率太低 class Solution { public: vector<int> twoSum(vector<in ...