【bzoj 2822】树屋阶梯详解 卡特兰数性质

这一道题还是磨了我很长时间,但是好在没有白费现在对卡特兰数有了一个较为清晰的认识

推荐博客:http://lanqi.org/skills/10939/                     //各个例题非常详细

卡特兰数递推公式: Cn=Cn-1*(4*n-2)/(n+1)

                                 Cn+1=i=0nCiCni ,且 C0=1 ;//这个公式在推导过程中非常用                                                                                                                                                  

                                  Cn=1n+1Cn2n=Cn2nCn12n

                           

此题:

QQ20151105-10

  对于每一个给出的阶梯的高度,我们可以观察上图,然后将包含左上角的矩形删    掉, 以后,原图最多被分成了两部分的新的阶梯(也可以是一个),且高度是i和n-i-1那么这两个部分相对独立,运用乘法原理f[n]=∑f[i]*f[n-i-1](与公式2相同)所以得出是卡特兰数

卡特兰数其他应用:见博客



不想写高精度:

h=[0]*502
h[0]=h[1]=1

for i in range(2,501):
    h[i]=h[i-1]*(4*i-2)/(i+1)
n=int(input())
print (int(h[n]))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值