卡特兰数
卡特兰数是一类特殊的数,形如1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190。一般打表时看到这种数列则可以认为是卡特兰数。
关于卡特兰数\(Cat_n\)有以下公式或性质:
- \(Cat_n=C_{2n}^n-C_{2n}^{n-1}\)
- \(Cat_n=Cat_{n-1}\cdot \frac{4n-2}{n+1}\)
- \(Cat_n=\sum_{i=0}^{n-1}Cat_iCat_{n-1-i}\)
- 若\(Cat_n\)为奇数,则\(Cat_n=2^k-1\)
在实际应用中,卡特兰数有以下性质:(下标起始位置可能不同)
- 长度为\(i\)的合法括号序列/入栈出栈序列数为卡特兰数
- 有\(i\)个结点的二叉树种数为卡特兰数(?待考究)
- 在\(i×i\)网格图中,从左下角走到右上角且仅走左下-右上对角线以右下部分(含)的路径数为卡特兰数
- 凸\(i\)边形的三角剖分数为卡特兰数
转换:每次+1/-1且不超过某数=括号序计数,规模为\(n\)的问题划为\(i\)和\(n-i-1\)的问题=二叉树计数。
第一类斯特林数
由于幂和的一般解法时间复杂度为\(klog(k)\),因此本博客不讲解第一类斯特林数求幂和,也不讲解第一类斯特林数。
第二类斯特林数
第二类斯特林数\(S(n,m)\)表示将\(n\)个不同物品放在\(m\)个相同抽屉里的方案数。
拓展:不同+不同=阶乘×挡板,相同+不同=挡板,相同+相同=自然数拆分。
关于二斯数有以下公式或性质:
- \(S(i,j)=S(i-1,j-1)+j\cdot S(i-1,j)\)
- certain
- certain
- \(x^n=\sum_{i=1}^nS(n,i)\cdot \frac{x!}{(x-i)!}=\sum_{i=1}^nS(n,i)\cdot C(x,i)\cdot i!\)
- \(S(n,m)=\frac{1}{m!}\sum_{k=0}^m(-1)^kC_m^k(m-k)^n\)(基本容斥原理)
例题
BZOJ2159 Crash的文明世界
化简\[\sum_{i=1}^nf(i)^m\]
由性质四,得\[=\sum_{i=1}^n\sum_{j=1}^mS(m,j)\cdot\frac{f(i)!}{(f(i)-j)!}\]
尝试配成组合数:\[=\sum_{j=1}^mS(m,j)\sum_{i=1}^n\frac{f(i)!}{(f(i)-j)!}\]
\[=\sum_{j=1}^mS(m,j)\cdot j!\sum_{i=1}^n\frac{f(i)!}{j!(f(i)-j)!}\]
\[=\sum_{j=1}^mS(m,j)\cdot j!\sum_{i=1}^nC(f(i),j)\]