catalan_number

卡特兰数的枚举定义与括号匹配问题

  1. 得到一个2对括号的所有可能的排列,使用c++wade
0:  ( ( ) )  ✅
0:  ( ) ( )  ✅
0:  ( ) ) (  ❌
0:  ) ( ( )  ❌
0:  ) ( ) (  ❌
0:  ) ) ( (  ❌

正确的数量为:C(2n,n)C(2n,n+1)=64=2C(2n,n) - C(2n,n+1) = 6-4 = 2

nn对括号,则共有C(2n,n)C(2n,n)种排列,这个容易理解

怎么理解C(2n,n+1)C(2n,n+1) 表示是所有的不正确的排列?

集合AA所有的不合法的排列

集合BB是由n+1n+1个l,n1n-1个r组成的所有的排列,共有C(2n,n+1)C(2n,n+1)

证明f:ABf:A \to B 是一个双射函数

  • 证明是单射的 不存在a1a2f(a1)=f(a2)a_1 \neq a_2 \land f(a_1) = f(a_2)
  • 证明是满射的, 不存在bBbranfb \in B \land b \notin ranf

应该是用其它方法证明的,不应该用单射,满射

ranf(f)=Branf(f) = B

公式

根据,P279页,得到,catalancatalan公式如下

根据凸三角形状

{h(n)=h(1)h(n1)+h(2)h(n2)++h(n1)h(1)=i=1n1h(i)h(ni)h(1)=1(1) \left\{ \begin{aligned} &h(n) = h(1)\cdot h(n-1) + h(2)\cdot h(n-2) + \cdots + h(n-1) \cdot h(1) = \sum_{i=1}^{n-1} h(i) \cdot h(n-i) \\ &h(1) = 1 \end{aligned} \right. \tag 1

h(n)=4n2n+1h(n1)(2) h(n) = \frac{4n-2}{n+1} \cdot h(n-1) \tag 2
h(n)=C(2n,n)C(2n,n+1)(3) h(n) = C(2n,n) - C(2n,n+1) \tag 3
h(n)=1n+1C(2n,n)(4) h(n) = \frac{1}{n+1} \cdot C(2n,n) \tag 4

题目

  • P1044 栈
  • hdu1134 Game of Connections(此题用到高精度大数)

参考