乱记结论之OI常用四大数列

一、斐波那契数列

$f(0)=1,f(1)=1,f(i)=f(i-1)+f(i-2) \ \ \ \ (i>=2)$

经典的解释是兔子生小孩,第0年一对兔子,一对兔子需要一年长大,后面每年都生小孩,每次刚好生一对,问第i年有多少只。就这么算。

经典的应用是矩阵乘法!稍微写一下:

\begin{vmatrix}
1 & 1 \\
1 & 0
\end{vmatrix} * \begin{vmatrix}
f(i) \\
f(i-1)
\end{vmatrix} = \begin{vmatrix}
f(i+1)\\
f(i)
\end{vmatrix}

二、卡特兰数

$C(0)=C(1)=1,C(n)=\sum_{k=0}^{n-1} C(k)C(n-k-1)$

$C(n)=C(2n,n)-C(2n,n-1)$

$C(n)=C(n-1)*(4*n-2)/(n+1)$

例子多了。出入栈序列,划分三角形,走格子不越过对角线,等等。

两种理解方式:分治,分成两个部分变成式一;计数,在瞎构造的序列中挑掉不合法的,对应方案是把第一个遇到不合法的位置以前全部取反,后面不变,建立一个和C(2n,n-1)的对应关系。

三、贝尔数

$B(n)=\sum_{k=0}^{n-1} C(n-1,k)B(k)$

贝尔数是第二类斯特林数的一行的和,直接用上面方法可nlogn求一个贝尔数。

如果要求一系列贝尔数,考虑最后一个元素所在集合大小,有$f(i)=\sum_{k=1}^{i} C_{i-1}^{k-1}f(i-k)$,一卷积,前面对后面有贡献,可CDQ+FFT在$nlog^2n$时间求解。

贴图都是不懂的。

三点五、范德蒙恒等式

$C_{n+m}^k=\sum_{i=0}^{k}C_n^iC_m^{k-i}$

证明用生成函数。

四、斯特林数

第二类:s(n,m)--n个元素分到m个相同盒子,$s(n,m)=s(n-1,m-1)+s(n-1,m)*m$

还可以这么玩:不考虑是否空盒子,那答案就$\frac{m^n}{m!}$,然后容斥一下,枚举几个空盒子,$s(n,m)=\frac{1}{m!}*\sum_{i=0}^{m}(-1)^iC_m^i(m-i)^n$,后面一卷积,可用多项式乘法得一行斯特林数。

他喜欢和指数玩:$i^j=\sum_{k=1}^{j}S(j,k)k!C_i^k$

第一类:s(n,m)--n个元素排成m个圈圈,$s(n,m)=s(n-1,m-1)+s(n-1,m)*(n-1)$,排在每个数的左边。

五、默慈金数

$M(n)$--一个圆上n个点,问点间连线不相交的方案。或者在坐标轴上,一步之内可以往左往右或不动,问最后到原点的方案。

一、$M(n+1)=M(n)+\sum_{i=0}^{n-1}M(i)M(n-1-i)=\frac{(2n+3)M(n)+3nM(n-1)}{n+3}$

二、$M(n)=\sum_{i=0}^{\left \lfloor \frac{n}{2} \right \rfloor}C_n^{2i}Cat(i)$

(不是很懂这字咋变小了)

posted @ 2018-01-05 20:50  Blue233333  阅读(360)  评论(0编辑  收藏  举报