【转】数列

原文地址(跪gty orz):http://gaotianyu1350.gitcafe.io/2015/03/08/%E6%95%B0%E5%88%97/

//ps:已修正原文部分格式问题= =

//upd:有适当补充

卡特兰数

前20项(从0开始)

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190

公式

  • 递推式 令$C_0=1$,卡特兰数满足递推式:
    $$ C_n=\sum_{0<=i<n}C_iC_{n-i-1}, n \ge 1 $$
    也满足:
    $$ C_n=\frac{2(2n-1)}{n+1}C_{n-1} $$

  • 一般公式
    $$
    C_n=\frac{1}{n+1}\binom{2n}{n}=\frac{(2n)!}{(n+1)!n!}
    $$

  • 另一种公式
    $$ C_n=\binom{2n}{n}-\binom{2n}{n+1},n\ge 1 $$

增长

$$ C_n\sim \frac{4^n}{n^{3/2}\sqrt \pi} $$

应用

  • 括号匹配 $n$对括号匹配的方案为$C_n$。分析同出栈序列

  • 出栈序列 一个栈的进展序列为$1,2,3,…,n$,有多少个不同的出栈序列?有$C_n$种。
    分析:设$n$个数字的时候的方案数为$f_n$。令最后一个出栈的数字为$k$,对于这一种情况,方案为$f_{k-1}f_{n-k}$。如果把所有$k$都枚举一遍再加起来,就会发现和卡特兰数的递推公式是一样的。

  • 凸多边形三角划分 在一个凸多边形中(边数为$n$),通过若干条互不相交的对角线,把这个多边形划分成了若干个三角形。方案数为$C_{n-2}$。
    分析:设边数为$n$的方案数为$f_n$。对点从$1$到$n$标号,然后选择一个点$k$($1<k<n$),$1,k,n$三个点构成一个三角形,这个三角形把多边形分成了两个部分——一个部分有$k$个点,一个部分有$n-k+1$,方案数为$f_kf_{n-k+1}$。发现$f_n$和$C_{n-2}$是相同的。

  • 二叉树构成 给定$n$个节点,能构成多少种不同的二叉树?$C_n$个。

  • 所有在$n \times n$格点中不越过对角线的单调路径的个数为$C_n$。(可以把向上走理解为左括号,向右走理解为右括号,不能越过对角线理解为括号序列合法)。

  • 在圆上选择$2n$个点,将这些点成对连接起来使得所得到的$n$条线段不相交的方案数为$C_n$(和括号匹配是一个意思)。

更多例子见Wiki百科-卡特兰数

扩展问题

  • $n$个左括号$m$个右括号($n>m$),合法的括号序列个数,任意时刻必须保证左括号剩余的个数大于$0$。(从$(0,0)$走到$(n,m)$不穿过对角线$x=y$)
    分两种情况:
    ①走$(1,0)$,一定不合法。方案数$\binom{n+m-1}{m-1}$。
    ②走$(0,1)$,有两种情况:A.合法。B.不合法。其中不合法的方案,将它穿过对角线之前的路线关于对角线翻折,一定能和某一个①中的方案重合,所以方案数为$\binom{n+m-1}{m-1}$。
    总方案数为$\binom{n+m}{m}-2\binom{n+m-1}{m-1}$。

  • $n$个左括号$m$个右括号($n>m$),合法的括号序列个数。(从$(0,0)$走到$(n,m)$不穿过对角线$x=y$(可以经过对角线))
    将上面那个问题中的$n$加上一就可以了。
    总方案数$ \binom{n+m+1}{m}-2\binom{n+m}{m-1}$

斯特林数(一)

定义

$s(n,k)$或$\left[ n,k \right]$的绝对值表示$n$个人分成$k$组,每组内再进行环上排列(也就是说通过旋转一样的方案算作相同方案)的方案数。

递推

$s(n,0)=0,s(1,1)=1$,有递推关系
$$ \left|s(n,k)\right|=\left|s(n-1,k-1)\right|+(n-1)\left|s(n-1,k)\right| $$

关于符号:
$$ s(n,k)=(-1)^{n+k}\left|s(n,k)\right| $$

$s(n,k)$是递降阶乘多项式的系数:

$$x^{\underline{n}} = x(x-1)(x-2)\ldots(x-n+1) = \sum_{k=1}^n s(n,k)x^k$$

特殊情况:

  • $ \left|s(n,1)\right| = (n-1)! $
  • $ s(n,n-1)=-\binom{n}{2} $

斯特林数(二)

定义

$S(n,k)$或$\{ n,k \}$表示$n$个人分成$k$组的方案数(每个组必须有人)。

递推

$S(n,n)=S(n,1)=1$,有递推关系:
$$ S(n,k)=S(n-1,k-1)+kS(n-1,k) $$

几个公式:

  • $ S(n,n-1)=\binom{n}{2}=n(n-1)/2 $
  • $ S(n,2)=2^{n-1}-1 $
  • $ S(n,k)=\frac{1}{k!}\sum_{j=1}^k(-1)^{k-j}\binom{k}{j}j^n $
  • $ B_n=\sum_{k=1}^nS(n,k) $($B_n$为贝尔数)

更多见Wiki百科-斯特灵数

贝尔数

定义

$B_n$为$n$个元素的集合划分方案数。($B_0=1$)

前7项(从0开始)

1,1,2,5,15,52,203……

递推

$$ B_n=\sum_{k=0}^{n-1}\binom{n-1}{k}B_k $$
和斯特林数(二)的关系:
$$ B_n=\sum_{i=1}^{n}S(n,i) $$

贝尔三角形

  • 第一行第一项是$1(a_{1,1} = 1)$
  • 对于$n>1$,第$n$行第一项等同第$n-1$行最后一项。$(a_{n,1} = a_{n-1,n-1})$
  • 对于$m,n>1$,第$n$行第$m$项等于它左边和左上方的两个数之和。$(a_{n,m} = a_{n,m-1} + a_{n-1,m-1})$
  • 每行首项是贝尔数。每行末项是第二类Stirling数之和(即$\sum_{i=1}^{n} S(n, i)$。

    $$
    \begin{array}{cccccccccccccccccc}
    1 \\
    1 & & 2 & & & & & & &\\
    2 & & 3 & & 5 & & & & & &\\
    5 & & 7 & & 10 & & 15 & & & & &\\
    15 & & 20 & & 27 & & 37 & & 52 & & & &\\
    52 & & 67 & & 87 & & 114 & & 151 & & 203 & & &\\
    203 & & 255 & & 322 & & 409 & & 523 & & 674 & & 877 & &\\
    877 & & 1080 & & 1335 & & 1657 & & 2066 & & 2589 & & 3263 & & 4140 &\\
    & & & & &\vdots & & & & \vdots & & & & \vdots& & & & \\
    \end{array}
    $$

更多见Wiki百科-贝尔数

 

posted @ 2015-03-13 19:56  iwtwiioi  阅读(366)  评论(0编辑  收藏  举报