catalan_number

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

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

正确的数量为:C(2n,n)−C(2n,n+1)=6−4=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,n−1n-1个r组成的所有的排列,共有C(2n,n+1)C(2n,n+1)个

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

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

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

ranf(f)=Branf(f) = B

公式

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

根据凸三角形状

{h(n)=h(1)⋅h(n−1)+h(2)⋅h(n−2)+⋯+h(n−1)⋅h(1)=∑i=1n−1h(i)⋅h(n−i)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)=4n−2n+1⋅h(n−1)(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+1⋅C(2n,n)(4) h(n) = \frac{1}{n+1} \cdot C(2n,n) \tag 4

题目

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

参考