计算式

\[
S(n,m)=S(n-1,m-1)+mS(n,m)
\]

\(S(0,0)=1,S(i,0)=0(i>0)\)

组合意义

将\(n\)个不可分辨的小球放入\(m\)个不可分辨的盒子中,且每个盒子非空

那么上面的式子就类似与\(dp\)的转移了

性质

1、\(S(n,m)=\frac{1}{m!}\sum_{i=0}^m(-1)^i\dbinom{m}{i}(m-i)^n\)

证明:考虑组合意义

先将盒子变成有序,最后除以\(m!\)即可

第二类斯特林数保障每个盒子非空,故考虑容斥,每次钦定\(i\)个盒子必须为空,选法有\(\dbinom{m}{i}\)种,\(n\)个小球放入剩下的\((m-i)\)个盒子中共有\((m-i)^n\)种放法

2、\(n^m=\sum_{i=0}^nS(m,i)*i!*\dbinom{n}{i}\)

证明:依然是考虑组合意义,左边是\(m\)个小球随意的放入\(n\)个盒子的方案数,并且考虑顺序

右边是枚举非空的盒子一共有\(i\)个,球放入的方案数为\(S(m,i)\),有顺序的选\(i\)个盒子有\(i!*\dbinom{n}{i}\)种方案

关于这个式子还有一个小技巧:为了使\(S(m,i)\)和\(\dbinom{n}{i}\)的值均大于\(0\),一定有\(i\leq min(n,m)\),所以我们枚举的sigma上界是可以根据我们的需求进行变化的

求解第二类斯特林数

求\(S(n,m)\)的值

普通求解是\(O(n^2)\)的递推,考虑其他的方法

由性质1的式子变形可以得到
\[
S(n,m)=\frac{1}{m!}\sum_{i=0}^m(-1)^i\frac{m!}{k!(m-k)!}(m-k)^n
\]

\[
S(n,m)=\sum_{i=0}^n\frac{(-1)^k}{k!}\frac{(m-k)^n}{(m-k)!}
\]

直接FFT即可,时间复杂度\(O(nlogn)\)

特殊计数序列——第二类斯特林(stirling)数的更多相关文章

  1. HDU2643(SummerTrainingDay05-P 第二类斯特林数)

    Rank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  2. 8-机器分配(hud4045-组合+第二类斯特林数)

    http://acm.hdu.edu.cn/showproblem.php?pid=4045 Machine schedulingTime Limit: 5000/2000 MS (Java/Othe ...

  3. 新疆大学(新大)OJ xju 1006: 比赛排名 第二类斯特林数+阶乘

    题目链接:http://acm.xju.edu.cn/JudgeOnline/problem.php?id=1006 第二类斯特林数: 第二类Stirling数实际上是集合的一个拆分,表示将n个不同的 ...

  4. Codeforces 1528F - AmShZ Farm(转化+NTT+推式子+第二类斯特林数)

    Codeforces 题目传送门 & 洛谷题目传送门 神仙题,只不过感觉有点强行二合一(?). 首先考虑什么样的数组 \(a\) 符合条件,我们考虑一个贪心的思想,我们从前到后遍历,对于每一个 ...

  5. 【BZOJ5093】图的价值(第二类斯特林数,组合数学,NTT)

    [BZOJ5093]图的价值(第二类斯特林数,组合数学,NTT) 题面 BZOJ 题解 单独考虑每一个点的贡献: 因为不知道它连了几条边,所以枚举一下 \[\sum_{i=0}^{n-1}C_{n-1 ...

  6. 【BZOJ4555】求和(第二类斯特林数,组合数学,NTT)

    [BZOJ4555]求和(第二类斯特林数,组合数学,NTT) 题面 BZOJ 题解 推推柿子 \[\sum_{i=0}^n\sum_{j=0}^iS(i,j)·j!·2^j\] \[=\sum_{i= ...

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

    传送门:CF原网 洛谷 题意:给定 $n,k$,求 $\sum\limits^n_{i=1}\dbinom{n}{i}i^k\bmod(10^9+7)$. $1\le n\le 10^9,1\le k ...

  8. HDU - 4625 JZPTREE(第二类斯特林数+树DP)

    https://vjudge.net/problem/HDU-4625 题意 给出一颗树,边权为1,对于每个结点u,求sigma(dist(u,v)^k). 分析 贴个官方题解 n^k并不好转移,于是 ...

  9. 【CF961G】Partitions 第二类斯特林数

    [CF961G]Partitions 题意:给出n个物品,每个物品有一个权值$w_i$,定义一个集合$S$的权值为$W(S)=|S|\sum\limits_{x\in S} w_x$,定义一个划分的权 ...

随机推荐

  1. sql server 生成数据库字典 sql语句

    SELECT TOP 100 PERCENT --a.id,          CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名,      ...

  2. 【esri-loader】帮助文档翻译 part1 是什么,怎么安装,为什么要用它

    是什么 esri-loader是一个JavaScript库(包/模块,Web模块化编程的概念),用于在非Dojo框架的Web页面中加载ArcGIS API for JavaScript 3.x或4.x ...

  3. Python 基于pykafka简单实现KAFKA消费者

    基于pykafka简单实现KAFKA消费者   By: 授客 QQ:1033553122         1.测试环境 python 3.4 zookeeper-3.4.13.tar.gz 下载地址1 ...

  4. 小米平板6.0以上系统如何不用Root激活Xposed框架的步骤

    在异常多公司的引流,或业务操作中,大多数需要使用安卓的神一般的Xposed框架,几天前我们公司买来了一批新的小米平板6.0以上系统,大多数都是基于7.0以上版本,大多数不能够获取Root超级权限,虽然 ...

  5. typescript的函数

    1:默认参数(传入值会覆盖默认参数,不传值也行) function getinfo(name:string,age:number=20):string{ return `${name}---${age ...

  6. 30号快手笔试(三道ac两道半)————-历史上最大的网络失误orz

    case  50 ,20,100 做题以来第一次重大失误:最后两分钟发现手机关机了,然后充电开机orz 页面是js代码, 钟表是一直会走的, 手机没电了, 电脑连接的手机的热点: 只顾在调试,先过了第 ...

  7. 前端开发之基础知识-HTML(一)

    1.1 html概述和基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网 ...

  8. Tableau环图可视化

    1.选择"记录数",拖拽两个记录数放入列中,求总和,选择饼图: 2.选择"大小",调整两个饼图的大小: 3.点击第二个总和(行上的),选择“双轴”: 4.点击坐 ...

  9. django apscheduler在特定时间执行一次任务(run at a specify time only once)

      如何使程序在特定时间只执行一次,我查了一下. celery可以,时间以秒计. task = mytask.apply_async(args=[10, 20], countdown=60) 不过,我 ...

  10. swing Jframe 界面风格

    用法:在jframe里面 UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel" ...