题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include <iostream>
using namespace std;
int n;
const int N = 1010 , mod = 1e9 + 7;
int f[N];
/*
i = 1 , f[i] = 1;
i = 2 , f[i] = 2;
i = 3 , f[i] = 5;
f[i]表示n=i时有多少种不同结构的二叉搜索树
//根据左右两边结点的数量进行划分
f[i] = f[j] * f[i-j-1] // 左子树数量*右子树数量 (遍历j)
*/
int main(){
cin >> n;
f[0] = 1; // 初始化
for(int i = 1 ; i <= n; i++){
for(int j = 0 ; j < i; j++){
f[i] = (f[i] +(long long) f[j] * f[i - j - 1]) % mod;
}
}
cout << f[n] << endl;
return 0;
}