传送门:洛谷 P1044 栈
算法分析:卡特兰数(传送门:卡特兰数)
\[C_n=C_0\times C_{n-1}+C_1\times C_{n-2}+…+C_{n-1}\times C_0\]
时间复杂度 \(O(n^2)\)
#include<iostream>
#include<cstdio>
using namespace std;
const int maxN=18;
int n,h[maxN+1];
int main()
{
scanf("%d",&n);
h[0]=h[1]=1;
for(int i=2;i<=n;i++)
for(int j=0;j<i;j++)
h[i]+=h[j]*h[n-1-i];
printf("%d",h[n]);
return 0;
}
原文:https://www.cnblogs.com/ezsyshx/p/10359361.html