卡特兰数(Catalan)与斯特林数(Stirling)

Part One 卡特兰数(Catalan)

一、组合含义

1.从 (0, 0) 走到 (?, ?),且不越过 ? = ? 的方案数

2.凸多边形三角剖分问题

3.二叉树计数

4.长度为 2? 的匹配括号序列的个数

 ……

 

二、Catalan数的求值

1.递归式

通常用于对Catalan数的辨识或用于较小数据求解
   1,1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796

1 c[0]=1,c[1]=1;
2 for(int i=2;i<=n;i++)              
3     for(int j=0;j<i;j++) 
4         c[i]+=c[j]*c[i-j-1];   

 

2.方格问题

组合数递推式

1 for(int i=1;i<=2*n;i++){
2     c[i][0]=c[i][i]=1;
3     for(int j=1;j<i;j++)
4         c[i][j]=c[i-1][j]+c[i-1][j-1];
5     }
6 printf("%lld",c[2*n][n]-c[2*n][n-1]);    

大数据取模需使用逆元

1 //上一种将最后一句改为
2 printf("%lld",c[2*n][n]/(n+1));

 

3.递推式


大数据谨慎使用

递推

1 c[0]=c[1]=1;
2 for(int i=2;i<=n;i++)
3     c[i]+=c[i-1]*(4*i-2)/(i+1);

 递归

1 int c(int n){
2     if(n==0||n==1) return 1;
3     return c(n-1)*(4*n-2)/(n+1);
4 }

4.括号匹配问题

5.生成函数

 

三、Catalan数的应用与习题

1.格路径问题

类似地,我们可以将Catalan数的定义扩展到n*m的网格中

2.赌徒问题

假设有一个赌徒初始时有1元,每次赌博以 1 − ? 的概率获得一元,以 ? 的概率赔一元,那么赌徒输光钱的概率是多少?

3.高维几何体

? 维超立方体的上共有多少个 ? 维超立方体呢?

解释:n维中可任取m维,剩余(n-m)维存在取和不取两种情况

4.洛谷习题(之后会补上代码)

P1044 栈(纯裸题)

P3200 [HNOI2009]有趣的数列

P1375 小猫

P2532 [AHOI2012]树屋阶梯

P1722 矩阵 II

P1976 鸡蛋饼

P3978 [TJOI2015]概率论

 

Part Two 斯特林数(Stirling)

一、代数含义

两个序列互相表示的问题

 

二、第二类斯特林数

1.其中转移系数为第二类斯特林数

2.求值

(1)递推式

(2)组合式

3.应用

4.性质

  ① 
  ② 
  ③ 
  ④ 
  ⑤ 
  ⑥ 
 

三、第一类斯特林数

1.其中转移系数为第一类斯特林数

2.求值

递推式

3.性质

  ① 
  ② 
  ③ 
  ④ 
  ⑤ 

 

转载于:https://www.cnblogs.com/Robert-JYH/p/11184111.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值