码迷,mamicode.com
首页 > 其他好文 > 详细

【转】数列

时间:2015-03-13 20:31:12      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

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

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

卡特兰数

前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_{i=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| $$

特殊情况:

  • $ \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$。
  • 对于$n>1$,第$n$行第$1$项等于$n-1$行的最后一项。
  • 对于$m,n>1$,第$n$行第$m$项等于它左边和左上方的两个数的和。
  • 每行首项是贝尔数。
    $$
    \begin{matrix}
    &1,\
    &1, &2,\
    &2, &3, &5,\
    &5, &7, &10, &15,\
    &15, &20, &27, &37, &52 \
    \end{matrix}
    $$

更多见Wiki百科-贝尔数

 

【转】数列

标签:

原文地址:http://www.cnblogs.com/iwtwiioi/p/4335916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!