51Nod-1412-AVL树的种类(树形dp)
来源:互联网 发布:windows家庭版升级 编辑:程序博客网 时间:2024/05/19 02:29
状态转移方程
1、dp[i][k] += dp[i - 1 - j][k - 1] * dp[j][k - 1]
2、dp[i][k] += 2 * dp[i - 1 - j][k - 2] * dp[j][k - 1]
#include<bits\stdc++.h>using namespace std;typedef long long ll;#define pb push_back#define MOD 1000000007const int MAXN = 2001;const int tier = 11;typedef long long ll;ll dp[MAXN][tier];void init(){ dp[0][0] = 1; dp[1][1] = 1; for (int i = 2; i < MAXN; i++) { for (int k = 2; k < tier; k++) { for (int j = 0; j < i; j++) { dp[i][k] += dp[i - j - 1][k - 1] * dp[j][k - 1]; dp[i][k] %= MOD; dp[i][k] += 2 * dp[i - j - 1][k - 2] * dp[j][k - 1]; dp[i][k] %= MOD; } } }}int main(){ int n; init(); while (scanf("%d", &n) == 1) { ll ans = 0; for (int i = 1; i < tier; i++) { ans += dp[n][i]; ans %= MOD; } printf("%I64d\n", ans); } return 0;}
阅读全文
0 0
- 51 nod 1412 AVL树的种类(树形DP)
- 51Nod-1412-AVL树的种类(树形dp)
- 51nod 1412 AVL树的种类(dp)
- 51nod 1412 AVL树的种类(DP)
- 51nod 1412-AVL树的种类(DP)
- 51Nod-1412-AVL树的种类
- 51nod-1412 AVL树的种类
- [51nod 1412]AVL树的种类
- 51nod 1412 AVL树的种类
- 【51nod】1412 AVL树的种类
- 51nod 1412 AVL树的种类
- 51nod BSG白山极客挑战赛 AVL树的种类
- AVL树的种类
- 51Nod 1405 树的距离之和(树形dp)
- 51NOD-1405 树的距离之和(树形DP)
- 51nod 1405 树的距离之和【树形dp】
- 51nod 1405 树的距离之和 (树形dp)
- 【51Nod1412】AVL树的种类
- Mybatis+spring+springmvc+swagger
- informix datetime数据类型存储内容详解
- js引擎的使用
- leetcode 37. Sudoku Solver 一个经典的DFS深度优先搜索的做法
- Hadoop学习-错误记录:namenode、datanode、secondarynamenode未启动
- 51Nod-1412-AVL树的种类(树形dp)
- 韩信点兵问题的神解法
- mbs字符串(char*)与Unicode字符串(wchar_t*)的转换.md
- 验证码
- (C语言)动态内存开辟
- MySQL数据库中delimiter的作用概述
- bzoj 3479: [Usaco2014 Mar]Watering the Fields 最小生成树
- 手把手教你在win10系统下安装Java SE Development Kit(JDK)与环境变量配置
- 计算机网络/网络协议