- 得到一个2对括号的所有可能的排列,使用c++wade
0: ( ( ) ) ✅
0: ( ) ( ) ✅
0: ( ) ) ( ❌
0: ) ( ( ) ❌
0: ) ( ) ( ❌
0: ) ) ( ( ❌
正确的数量为:C(2n,n)−C(2n,n+1)=6−4=2
有n对括号,则共有C(2n,n)种排列,这个容易理解
怎么理解C(2n,n+1) 表示是所有的不正确的排列?
集合A所有的不合法的排列
集合B是由n+1个l,n−1个r组成的所有的排列,共有C(2n,n+1)个
证明f:A→B 是一个双射函数
- 证明是单射的
不存在a1=a2∧f(a1)=f(a2)
- 证明是满射的,
不存在b∈B∧b∈/ranf
应该是用其它方法证明的,不应该用单射,满射
ranf(f)=B
公式
根据,P279页,得到,catalan公式如下
根据凸三角形状
⎩⎨⎧h(n)=h(1)⋅h(n−1)+h(2)⋅h(n−2)+⋯+h(n−1)⋅h(1)=i=1∑n−1h(i)⋅h(n−i)h(1)=1(1)
h(n)=n+14n−2⋅h(n−1)(2)h(n)=C(2n,n)−C(2n,n+1)(3)h(n)=n+11⋅C(2n,n)(4)题目
- P1044 栈
- hdu1134 Game of Connections(此题用到高精度大数)
参考