p1044栈,卡特兰数

设f【i】表示i个数的方法数
最后出来的数是i的方法数f【i-1】*f【n-i】,(这里i-1+n-i=n-1就可以大致判断出事卡特兰数)
有n个数的方法数等于每个数最后出来的方法数的和
即:,第一个数是0
一个数最后出来的方法数是1——f【0】=1
二个数最后出来的方法数是1——f【1】=2
用卡特兰数推导公式,只用上一层的除法
#include<bits/stdc++.h>
using namespace std;

long long n,f[20];
int main(){
	cin>>n;
	f[1]=1;
	for(int i=2;i<=n;i++) f[i]=f[i-1]*(4*i-2)/(i+1);
	cout<<f[n];
	return 0;
} 



全部评论

相关推荐

一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
小红书 后端开发 总包n+8w+期权
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务