Portal de título original
Idea: Primero defina la matriz y las variables, y luego haga f [0] = 1, f [1] = 1, el valor predeterminado f [0] = 1 es simplemente para satisfacer el cálculo de la expresión y no tiene un significado práctico; luego use el Cattleya número a recursivamente La fórmula se puede utilizar para encontrar los valores de f de 2 an , y finalmente dar salida a f [n].
Principio de número de Cattlean: Sea h (0) = 1, h (1) = 1, catalán número satisface la fórmula de recurrencia: h (n) = h (0) * h (n-1) + h (1) * h (n-2) +… + h (n-1) h (0) (n> = 2)
Referencia de código
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1001;
int f[MAXN],n;
int main(){
cin>>n;
f[0] = 1, f[1] = 1;
//从2到n按规律递推
for(int i = 2;i <= n;i++)
for(int j = 0;j < i;j++)
f[i] += f[j] * f[i-j-1];//卡特兰数递推式
cout<<f[n];
return 0;
}