[学习笔记]第一类/第二类斯特林数
前置知识
· 组合数学基础
· 容斥原理
· 生成函数
· FFT/NTT
· 多项式exp,多项式ln,多项式快速幂,多项式平移
一些规定
· 下降幂
xn‾=∏i=1n(x−i+1)x^{\underline{n}}=\prod^{n}_{i=1}(x-i+1)xn=∏i=1n(x−i+1)
· 上升幂
xnˉ=∏i=1n(x+i−1)x^{\bar{n}}=\prod^{n}_{i=1}(x+i-1)xnˉ=∏i=1n(x+i−1)
结论:
1.显然有xm‾=(x−m+1)mˉx^{\underline{m}}=(x-m+1)^{\bar{m}}xm=(x−m+1)mˉ
2.xm‾=(−1)m(−x)mˉ(m∈Z)x^{\underline{m}}=(-1)^m(-x)^{\bar{m}}(m\in \Z)xm=(−1)m(−x)mˉ(m∈Z)
证明:
(−1)m(−x)mˉ=[−(−x)][−(−x+1)]...[−(−x+n−1)]=x(x−1)...(x−n+1)=xn‾(-1)^m(-x)^{\bar{m}}=[-(-x)][-(-x+1)]...[-(-x+n-1)]=x(x-1)...(x-n+1)=x^{\underline{n}}(−1)m(−x)mˉ=[−(−x)][−(−x+1)]...[−(−x+n−1)]=x(x−1)...(x−n+1)=xn
当然还有xmˉ=(−1)m(−x)m‾(m∈Z)x^{\bar{m}}=(-1)^m(-x)^{\underline{m}}(m\in \Z)xmˉ=(−1)m(−x)m(m∈Z)
第一类斯特林数
概述
第一类斯特林数分为第一类无符号斯特林数和第一类带符号斯特林数两类。
在OI中多指第一类无符号斯特林数,接下来的我们称第一类无符号斯特林数为第一类斯特林数。
名称 | 第一类斯特林数 |
---|---|
组合意义 | nnn个数的序列划分为kkk个圆排列的方案数。 |
书写方式 | [nm]\begin{bmatrix} n \\ m \end{bmatrix}[nm],s(n,m)s(n,m)s(n,m)两种。 |
一般递推形式 | [nm]=[n−1m−1]+(n−1)[n−1m]\begin{bmatrix} n \\ m \end{bmatrix}=\begin{bmatrix} n-1 \\ m-1 \end{bmatrix}+(n-1)\begin{bmatrix} n-1 \\ m \end{bmatrix}[nm]=[n−1m−1]+(n−1)[n−1m] |
生成函数形式 | fn(x)=xnˉf_n(x)=x^{\bar{n}}fn(x)=xnˉ |
求解时间复杂度 | 单列/行 O(nlogn)O(n\log n)O(nlogn) 多组 O(n2)O(n^2)O(n2) |
定义
我们知道xk‾=x⋅(x−1)⋅...⋅(x−k+1)x^{\underline{k}}=x·(x-1)·...·(x-k+1)xk=x⋅(x−1)⋅...⋅(x−k+1)。
暴力展开就是
xk‾=∑i=0k(−1)k−i⋅[ki]⋅xix^{\underline{k}}=\sum^{k}_{i=0}(-1)^{k-i}·\begin{bmatrix} k \\ i \end{bmatrix}·x^ixk=i=0∑k(−1)k−i⋅[ki]⋅xi
因此第一类斯特林数真正的定义是xk‾x^{\underline{k}}xk展开后的系数,根据你计不计入前面的(−1)k−i(-1)^{k-i}(−1)k−i系数分为有符号与无符号两类。
一些性质
- [nm]=[n−1m−1]+(n−1)[n−1m]\begin{bmatrix} n \\ m \end{bmatrix}=\begin{bmatrix} n-1 \\ m-1 \end{bmatrix}+(n-1)\begin{bmatrix} n-1 \\ m \end{bmatrix}[nm]=[n−1m−1]+(n−1)[n−1m]
组合意义:由于是圆排列我们先确定一个顺序依次插入数列中,每次要么单独成为新的一组,方案数[n−1m−1]\begin{bmatrix} n-1 \\ m-1 \end{bmatrix}[n−1m−1],否则我们可以插入到前面的任何一个数的后面,方案数(n−1)[n−1m](n-1)\begin{bmatrix} n-1 \\ m \end{bmatrix}(n−1)[n−1m]。 - ∑i=1n[ni]=n!\sum^{n}_{i=1} \begin{bmatrix} n \\ i \end{bmatrix} =n!i=1∑n[ni]=n!
证明:利用置换,每个置换有若干个循环节,有iii个循环节的置换数量是[ni]\begin{bmatrix} n \\ i \end{bmatrix}[ni],因此总的置换数就是排列数n!n!n!。 - xnˉ=∑i=0n[ni]⋅xix^{\bar{n}}=\sum^{n}_{i=0}\begin{bmatrix} n \\ i \end{bmatrix}·x^ixnˉ=i=0∑n[ni]⋅xi
- xn‾=∑i=0n(−1)n−i⋅[ni]⋅xix^{\underline{n}}=\sum^{n}_{i=0}(-1)^{n-i}·\begin{bmatrix} n \\ i \end{bmatrix}·x^ixn=i=0∑n(−1)n−i⋅[ni]⋅xi
- [n+1m+1]=∑i[ni](im)\begin{bmatrix} n+1 \\ m+1 \end{bmatrix}=\sum_{i} \begin{bmatrix} n \\ i \end{bmatrix} \binom{i}{m}[n+1m+1]=i∑[ni](mi)
组合意义:考虑在nnn个数有iii个循环节的排列中选择mmm个循环节保留下来,其余的按先前分配的顺序顺次连接,最后和新增的数相连,这样就产生了m+1m+1m+1个循环节。
有大佬用生成函数证明了:传送门
求解方法
递推
按照前面的递推式递推即可。
复杂度:O(n2)O(n^2)O(n2)。
行-生成函数
显然可以写成OGF形式fn(x)=xnˉf_n(x)=x^{\bar{n}}fn(x)=xnˉ
分治+NTT一下就好。
复杂度O(nlog2n)O(n\log^2n)O(nlog2n)。
行-倍增优化
fn(x)=∑i=0nai⋅xif_n(x)=\sum^{n}_{i=0}a_i·x^ifn(x)=∑i=0nai⋅xi
假设现在我们求出了fn(x)f_n(x)fn(x),我们试图用倍增法求f2n(x)=fn(x)⋅fn(x+n)f_{2n}(x)=f_n(x)·f_n(x+n)f2n(x)=fn(x)⋅fn(x+n)。
现在的唯一任务就是算出fn(x+n)f_n(x+n)fn(x+n)。
fn(x+n)=∑i=0nai⋅(x+n)i=∑i=0n∑j=0iai(ij)ni−jxj=∑i=0n∑j=0iaii!(i−j)!⋅j!ni−jxj=∑i=0nxii!∑j=in(aj⋅j!)⋅nj−i(j−i)!\begin{aligned} f_n(x+n) & =\sum^{n}_{i=0}a_i·(x+n)^i\\ & =\sum^{n}_{i=0}\sum^{i}_{j=0}a_i\binom{i}{j}n^{i-j}x^j\\ & =\sum^{n}_{i=0}\sum^{i}_{j=0}a_i \frac{i!}{(i-j)!·j!} n^{i-j}x^j\\ & =\sum^{n}_{i=0} \frac{x^i}{i!} \sum^{n}_{j=i} (a_j·j!)·\frac{n^{j-i}}{(j-i)!}\\ \end{aligned} fn(x+n)=i=0∑nai⋅(x+n)i=i=0∑nj=0∑iai(ji)ni−jxj=i=0∑nj=0∑iai(i−j)!⋅j!i!ni−jxj=i=0∑ni!xij=i∑n(aj⋅j!)⋅(j−i)!nj−i
我们最后再乘上1i!\frac{1}{i!}i!1…所以这是…减法卷积???
其实只需要设g(x)=∑i=0nnii!,t(x)=∑i=0nai⋅i!g(x)=\sum^{n}_{i=0} \frac{n^i}{i!},t(x)=\sum^{n}_{i=0}a_i·i!g(x)=∑i=0ni!ni,t(x)=∑i=0nai⋅i!。
然后算gR(x)⋅t(x)g^R(x)·t(x)gR(x)⋅t(x)就好了(相当于算(n−j)+i(n-j)+i(n−j)+i)。
注意这一部分最后要左移nnn位。
然后我们递归解决就好了,注意奇数的时候单独乘以一个(x+i)(x+i)(x+i)。
复杂度T(n)=T(n2)+O(nlogn)=O(nlogn)T(n)=T(\frac{n}{2})+O(n\log n)=O(n\log n)T(n)=T(2n)+O(nlogn)=O(nlogn)。
列
考虑从组合数生成函数入手:(x+1)t(x+1)^t(x+1)t。
1.第一个方向,暴力展开:
(x+1)t=∑i=0∞(ti)xi=∑i=0∞xi⋅ti‾i!=∑i=0∞xii!∑j=0i(−1)i−j⋅[ij]⋅tj=∑i=0∞ti∑j=i∞(−1)j−i[ji]xjj!\begin{aligned} (x+1)^t& =\sum^{∞}_{i=0}\binom{t}{i}x^i\\ & =\sum^{∞}_{i=0}\frac{x^i·t^{\underline{i}}}{i!}\\ & =\sum^{∞}_{i=0}\frac{x^i}{i!}\sum^{i}_{j=0}(-1)^{i-j}·\begin{bmatrix} i \\ j \end{bmatrix}·t^j\\ & =\sum^{∞}_{i=0}t^i\sum^{∞}_{j=i}(-1)^{j-i}\begin{bmatrix} j \\ i \end{bmatrix}\frac{x^j}{j!}\\ \end{aligned} (x+1)t=i=0∑∞(it)xi=i=0∑∞i!xi⋅ti=i=0∑∞i!xij=0∑i(−1)i−j⋅[ij]⋅tj=i=0∑∞tij=i∑∞(−1)j−i[ji]j!xj
2.第二个方向,考虑以eee换底:
(x+1)t=etln(x+1)=∑i=0∞ti⋅ln(x+1)ii!\begin{aligned} (x+1)^t&=e^{t\ln(x+1)}\\ &=\sum^{∞}_{i=0}t^i·\frac{ln(x+1)^i}{i!}\\ \end{aligned} (x+1)t=etln(x+1)=i=0∑∞ti⋅i!ln(x+1)i
然后我们就有了:
∑i=0∞ti∑j=i∞(−1)j−i[ji]xjj!=∑i=0∞ti⋅ln(x+1)ii!\sum^{∞}_{i=0}t^i\sum^{∞}_{j=i}(-1)^{j-i}\begin{bmatrix} j \\ i \end{bmatrix}\frac{x^j}{j!}=\sum^{∞}_{i=0}t^i·\frac{ln(x+1)^i}{i!} i=0∑∞tij=i∑∞(−1)j−i[ji]j!xj=i=0∑∞ti⋅i!ln(x+1)i
去掉相同的部分
∑j=i∞(−1)j−i[ji]xjj!=ln(x+1)ii!\sum^{∞}_{j=i}(-1)^{j-i}\begin{bmatrix} j \\ i \end{bmatrix}\frac{x^j}{j!}=\frac{ln(x+1)^i}{i!} j=i∑∞(−1)j−i[ji]j!xj=i!ln(x+1)i
其中iii就是指定的列数。
于是用多项式lnlnln和expexpexp直接算就行了。
复杂度:O(nlogn)O(n\log n)O(nlogn)(然而常数巨大)。
单个
求单个可以做到lucas定理的范围O(p)O(p)O(p)。
然而过程过于复杂[我看了半天,还是很蒙…],要讲也是之后了吧。
例题
「BJOI2019」勘破神机
第二类斯特林数
概述
名称 | 第二类斯特林数 |
---|---|
组合意义 | nnn个不同的数的序列划分为kkk个集合的方案数。 |
书写方式 | {nm}\begin{Bmatrix} n \\ m \end{Bmatrix}{nm},S(n,m)S(n,m)S(n,m)两种。 |
一般递推形式 | {nm}={n−1m−1}+m{n−1m}\begin{Bmatrix} n \\ m \end{Bmatrix}=\begin{Bmatrix} n-1 \\ m-1 \end{Bmatrix}+m\begin{Bmatrix} n-1 \\ m \end{Bmatrix}{nm}={n−1m−1}+m{n−1m} |
和式形式 | 1m!∑k=0m(−1)k(mk)(m−k)n\frac{1}{m!}\sum^{m}_{k=0}(-1)^k\binom{m}{k}(m-k)^nm!1k=0∑m(−1)k(km)(m−k)n |
求解时间复杂度 | 单列/行 O(nlogn)O(n\log n)O(nlogn) 多组 O(n2)O(n^2)O(n2) |
定义
xn=∑i=0n{ni}xi‾x^n=\sum^{n}_{i=0}\begin{Bmatrix} n \\ i \end{Bmatrix}x^{\underline{i}} xn=i=0∑n{ni}xi
也就是说第二类斯特林数是xmx^mxm展开成下降幂形式的系数。
但由于从这个方向进行推导并不好理解,后面我们会通过组合意义以及递推式反向推出这个结论。
一些性质
{nm}={n−1m−1}+m{n−1m}\begin{Bmatrix} n \\ m \end{Bmatrix}=\begin{Bmatrix} n-1 \\ m-1 \end{Bmatrix}+m\begin{Bmatrix} n-1 \\ m \end{Bmatrix} {nm}={n−1m−1}+m{n−1m}
组合意义:比较简单,每个数要么放入一个新的集合,方案数{n−1m−1}\begin{Bmatrix} n-1 \\ m-1 \end{Bmatrix}{n−1m−1},要么选择一个前面已有的集合放进去,方案数m{n−1m}m\begin{Bmatrix} n-1 \\ m \end{Bmatrix}m{n−1m}。
xn=∑i=0n{ni}xi‾=∑i=0n{ni}(xi)⋅i!x^n=\sum^{n}_{i=0}\begin{Bmatrix} n \\ i \end{Bmatrix}x^{\underline{i}}=\sum^{n}_{i=0}\begin{Bmatrix} n \\ i \end{Bmatrix}\binom{x}{i}·i! xn=i=0∑n{ni}xi=i=0∑n{ni}(ix)⋅i!
证明:
设f(n)=∑i=0n{ni}xi‾f(n)=\sum^{n}_{i=0}\begin{Bmatrix} n \\ i \end{Bmatrix}x^{\underline{i}}f(n)=∑i=0n{ni}xi
当n=0n=0n=0时显然有f(n)=1f(n)=1f(n)=1
当n>0n>0n>0时,考虑化简:
f(n)=∑i=0n{ni}xi‾=∑i=1n{n−1i−1}xi‾+∑i=0n−1i{n−1i}xi‾=∑i=0n−1{n−1i}xi+1‾+∑i=0n−1i{n−1i}xi‾=∑i=0n−1(x−i){n−1i}xi‾+∑i=0n−1i{n−1i}xi‾=x∑i=0n−1{n−1i}xi‾=xf(n−1)\begin{aligned} f(n)&=\sum^{n}_{i=0}\begin{Bmatrix} n \\ i \end{Bmatrix}x^{\underline{i}}\\ &=\sum^{n}_{i=1}\begin{Bmatrix} n-1 \\ i-1 \end{Bmatrix}x^{\underline{i}}+\sum^{n-1}_{i=0}i\begin{Bmatrix} n-1 \\ i \end{Bmatrix}x^{\underline{i}}\\ &=\sum^{n-1}_{i=0}\begin{Bmatrix} n-1 \\ i \end{Bmatrix}x^{\underline{i+1}}+\sum^{n-1}_{i=0}i\begin{Bmatrix} n-1 \\ i \end{Bmatrix}x^{\underline{i}}\\ &=\sum^{n-1}_{i=0}(x-i)\begin{Bmatrix} n-1 \\ i \end{Bmatrix}x^{\underline{i}}+\sum^{n-1}_{i=0}i\begin{Bmatrix} n-1 \\ i \end{Bmatrix}x^{\underline{i}}\\ &=x\sum^{n-1}_{i=0}\begin{Bmatrix} n-1 \\ i \end{Bmatrix}x^{\underline{i}}\\ &=xf(n-1)\\ \end{aligned} f(n)=i=0∑n{ni}xi=i=1∑n{n−1i−1}xi+i=0∑n−1i{n−1i}xi=i=0∑n−1{n−1i}xi+1+i=0∑n−1i{n−1i}xi=i=0∑n−1(x−i){n−1i}xi+i=0∑n−1i{n−1i}xi=xi=0∑n−1{n−1i}xi=xf(n−1)
显然f(x)=xnf(x)=x^nf(x)=xn
组合意义:
mnm^nmn是nnn个不同的小球放进mmm个不同的盒子中,允许盒子为空的方案数。
· 选择iii个盒子非空,方案数(mi)\begin{pmatrix} m \\ i \end{pmatrix}(mi)。
· 再将nnn个球放进去,方案数{ni}\begin{Bmatrix} n \\ i \end{Bmatrix}{ni}。
· 由于盒子不同,再乘上i!i!i!。
∑i=0nik=∑j=0k{kj}(n+1)j+1‾j+1\sum^{n}_{i=0}i^k=\sum^{k}_{j=0}\begin{Bmatrix} k \\ j \end{Bmatrix} \frac{(n+1)^{\underline{j+1}}}{j+1} i=0∑nik=j=0∑k{kj}j+1(n+1)j+1
根据性质2和公式∑i=jn(ij)=(n+1j+1)\sum^{n}_{i=j}\begin{pmatrix} i \\ j \end{pmatrix}=\begin{pmatrix} n+1 \\ j+1 \end{pmatrix}∑i=jn(ij)=(n+1j+1)化简即可。
∑i=0nik=∑i=0n∑j=0k{kj}⋅j!⋅(ij)=∑j=0k{kj}⋅j!∑i=jn(ij)=∑j=0k{kj}⋅j!⋅(n+1j+1)=∑j=0k{kj}(n+1)j+1‾j+1\begin{aligned} \sum^{n}_{i=0}i^k&=\sum^{n}_{i=0}\sum^{k}_{j=0}\begin{Bmatrix} k \\ j \end{Bmatrix}·j!·\begin{pmatrix} i \\ j \end{pmatrix}\\ &=\sum^{k}_{j=0}\begin{Bmatrix} k \\ j \end{Bmatrix}·j!\sum^{n}_{i=j}\begin{pmatrix} i \\ j \end{pmatrix}\\ &=\sum^{k}_{j=0}\begin{Bmatrix} k \\ j \end{Bmatrix}·j!·\begin{pmatrix} n+1 \\ j+1 \end{pmatrix}\\ &=\sum^{k}_{j=0}\begin{Bmatrix} k \\ j \end{Bmatrix} \frac{(n+1)^{\underline{j+1}}}{j+1}\\ \end{aligned} i=0∑nik=i=0∑nj=0∑k{kj}⋅j!⋅(ij)=j=0∑k{kj}⋅j!i=j∑n(ij)=j=0∑k{kj}⋅j!⋅(n+1j+1)=j=0∑k{kj}j+1(n+1)j+1
这样预处理,计算都可以O(k2)O(k^2)O(k2)完成了。
因此我们有了一个O(k2)O(k^2)O(k2)计算自然数幂和的做法。
然而通过拉格朗日插值法能够做到O(klogk)O(k\log k)O(klogk)甚至O(k)O(k)O(k)的。
{nm}=1m!∑i=0m(−1)m−i(mi)in\begin{Bmatrix} n \\ m \end{Bmatrix}=\frac{1}{m!}\sum^{m}_{i=0}(-1)^{m-i}\binom{m}{i}i^n {nm}=m!1i=0∑m(−1)m−i(im)in
证明:
设f(m)=mn,g(m)={nm}⋅m!f(m)=m^n,g(m)=\begin{Bmatrix} n \\ m \end{Bmatrix}·m!f(m)=mn,g(m)={nm}⋅m!。
用二项式反演解决
f(m)=∑i=0m(mi)g(i)g(m)=∑i=0m(−1)m−i(mi)f(i){nm}=1m!∑i=0m(−1)m−i(mi)f(i)=1m!∑i=0m(−1)m−i(mi)⋅in\begin{aligned} f(m)&=\sum^{m}_{i=0}\binom{m}{i}g(i)\\ g(m)&=\sum^{m}_{i=0}(-1)^{m-i}\binom{m}{i}f(i)\\ \begin{Bmatrix} n \\ m \end{Bmatrix}&=\frac{1}{m!}\sum^{m}_{i=0}(-1)^{m-i}\binom{m}{i}f(i)\\ &=\frac{1}{m!}\sum^{m}_{i=0}(-1)^{m-i}\binom{m}{i}·i^n\\ \end{aligned} f(m)g(m){nm}=i=0∑m(im)g(i)=i=0∑m(−1)m−i(im)f(i)=m!1i=0∑m(−1)m−i(im)f(i)=m!1i=0∑m(−1)m−i(im)⋅in
组合意义:
我们先假设盒子有区别,注意到如果允许空盒存在时答案就是mnm^nmn,考虑通过限制非空盒数量容斥。
设非空盒数量为iii。
· 从mmm个盒子中选出iii个非空盒,方案数(mi)\begin{pmatrix} m \\ i \end{pmatrix}(mi)。
· 非空盒随便放,方案数ini^nin。
· 由于盒子实际上无区别,最后应乘上1m!\frac{1}{m!}m!1。
- {n+1m+1}=∑i{im}(ni)\begin{Bmatrix} n+1 \\ m+1 \end{Bmatrix}=\sum_{i} \begin{Bmatrix} i \\ m \end{Bmatrix} \binom{n}{i}{n+1m+1}=i∑{im}(in)
组合意义:从nnn个数中选iii个数组成前mmm个集合,其余的与新加的那个数组成一个新的集合。
求解方法
递推
按照一般递推式递推即可。
复杂度O(n2)O(n^2)O(n2)。
单个
利用性质4的式子计算即可。
复杂度O(n)O(n)O(n)。
行
再次观察性质四的结论:
{nm}=1m!∑i=0m(−1)m−i(mi)in\begin{Bmatrix} n \\ m \end{Bmatrix}=\frac{1}{m!}\sum^{m}_{i=0}(-1)^{m-i}\binom{m}{i}i^n {nm}=m!1i=0∑m(−1)m−i(im)in
我们将组合数拆开:
{nm}=1m!∑i=0m(−1)m−im!i!⋅(m−i)!in=∑i=0m(−1)m−i(m−i)!ini!\begin{aligned} \begin{Bmatrix} n \\ m \end{Bmatrix}&=\frac{1}{m!}\sum^{m}_{i=0}(-1)^{m-i}\frac{m!}{i!·(m-i)!}i^n\\ &=\sum^{m}_{i=0}\frac{(-1)^{m-i}}{(m-i)!}\frac{i^n}{i!} \end{aligned} {nm}=m!1i=0∑m(−1)m−ii!⋅(m−i)!m!in=i=0∑m(m−i)!(−1)m−ii!in
发现这是一个相当标准的卷积形式。
因此直接设f(x)=∑i=0m(−1)ii!xif(x)=\sum^{m}_{i=0}\frac{(-1)^i}{i!}x^if(x)=∑i=0mi!(−1)ixi和g(x)=∑i=0mini!xig(x)=\sum^{m}_{i=0}\frac{i^n}{i!}x^ig(x)=∑i=0mi!inxi,用NTT卷起来就好。
复杂度:O(nlogn)O(n\log n)O(nlogn)。
列
最好学完下面的斯特林反演再来看这一部分。
单个(加强版)
跟第一类斯特林数单个的范围一样…同样被咕掉了。
斯特林反演
概述
–updating–
根据提示默写方程式:
xxxxx,KSCNKSCNKSCN滴眼睛。
Fe+3+3SCN−=Fe(SCN)3Fe^{+3}+3SCN^{-}=Fe(SCN)_3Fe+3+3SCN−=Fe(SCN)3
[学习笔记]第一类/第二类斯特林数相关推荐
- 第一类第二类斯特林数总结
第一类Stirling数是有正负的,其绝对值是包含n个元素的集合分作k个环排列的方法数目. 递推公式为, S(n,0) = 0, S(1,1) = 1. S(n+1,k) = S(n,k-1) + n ...
- 第二类斯特林数学习笔记
第二类斯特林数 定义 第二类斯特林数 S(n,m)S(n,m)S(n,m) 表示将 nnn 个不同的小球放到 mmm 个相同的盒子里的方案数.S(n,m)S(n,m)S(n,m) 也可以用 {nm}\ ...
- 【组合数学】第一类,第二类斯特林数(Stirling),Bell数
第一类斯特林数 定理: 第一类斯特林数S1(p,k)计数的是把p个对象排成k个非空循环排列的方法数. 证明:把上述定理叙述中的循环排列叫做圆圈 递推公式: S1(p,p)=1(p>=0),有p个 ...
- 第一类斯特林数 / 第二类斯特林数 / 贝尔数 小结
第一类斯特林数 有 nnn 个不同的小球,将它们串成 mmm 条项链,有多少种不同的方案? 第一类斯特林数的表示方法为 [nm]\left[\begin{matrix}n\\m\end{matrix} ...
- 第一类和第二类斯特林数
第一类斯特林数 第一类斯特林数定义如下: \(s_1(n,k)\)表示\(n\)个元素组成\(k\)个圆排列的方案数. 其中\(n\)个元素的圆排列定义为\(n\)个元素围成一圈的排列,两个圆排列本质 ...
- 组合基础2 第一类斯特林数 第二类斯特林数 基础部分
记xn‾=x(x+1)(x+2)⋯(x+n−1)x^{\overline{n}}=x(x+1)(x+2)\cdots(x+n-1)xn=x(x+1)(x+2)⋯(x+n−1),xn‾=x(x−1)(x ...
- 新疆大学(新大)OJ xju 1006: 比赛排名 第二类斯特林数+阶乘
题目链接:http://acm.xju.edu.cn/JudgeOnline/problem.php?id=1006 第二类斯特林数: 第二类Stirling数实际上是集合的一个拆分,表示将n个不同的 ...
- 第二类Stirling数(第二类斯特林数)
第二类Stirling数(第二类斯特林数) 定义 第二类Stirling数表示把nnn个不同的数划分为mmm个集合的方案数,要求不能为空集,写作S(n,m)S(n,m)S(n,m). 和第一类Stir ...
- 【组合数学】第二类斯特林数
一.定义 第二类Stirling数即:,又可记为[与第一类的表示有大小写的区别].其表示将n个不同的元素分成m个集合的方案数. 二.理解关键词句 1.集合的一个拆分(表示将n个不同的元素拆分成m个集合 ...
最新文章
- MYsql可以做独立数据库_mysql-用于独立应用程序Winforms的数据库
- mac搭建本地svn
- jzoj4252-QYQ的图【dfs】
- 计算机支持协同工作不是多媒体应用,计算机支持的协同工作概观.PDF
- 物体检测的过去、现在和未来
- es6 prototype 属性和__proto__属性
- 【高并发】java中的线程池 ThreadPoolExecutor
- Storm原理与实现
- skyline软件体系及工作流程
- java导出数据库_如何在Java中从整个数据库导出数据?
- 服务器系统报ata6,ATA_5.4考试管理系统使用手册[最终版].doc
- 用HTML写出能转换成合适的PDF文件(A4纸张大小)的相关问题和方法
- 网络配置问题Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization.
- 【附源码】计算机毕业设计JAVA智友少儿编程学习平台
- 图像评价指标——PSNR、SSIM、FID、KID
- Java中内存问题之OOM 和SOF
- 不懂分布式,枉称大数据
- 【OFD】ArrayBuffer 和 Uint8Array
- 系统架构师(软考)------网络互联模型与常见的网络协议
- android接入原生第三方登录(微信登录、QQ登录、新浪微博登录)