题意给了n个节点 问AVL树的种类

卧槽 真的好傻 又忘记这种题可以打表了  就算n^3 也可以接受的

树的深度不大

那么转移方程很明显了

dp[i][j]   代表的是节点为n深度为j的树的种类

k为左子树的节点个数

//dp[i][j+1] += dp[k][j]*dp[i-k-1][j];
//dp[i][j+1] += 2*dp[k][j-1]*dp[i-k-1][j];

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
const long long MOD = 1000000007;
typedef long long ll;
ll dp[2100][30];//i  表示个数 j表示深度
ll check(int x,int y)
{return 0;
}
void init()
{dp[0][0] = dp[1][1] = 1;//dp[i][j+1] += dp[k][j]*dp[i-k-1][j];//dp[i][j+1] += 2*dp[k][j-1]*dp[i-k-1][j];for(int i=2;i<=2000;i++){for(int j=0;j<=17;j++){for(int k=0;k<i;k++){dp[i][j+1] += dp[k][j]*dp[i-k-1][j];dp[i][j+1] += 2*dp[k][j-1]*dp[i-k-1][j];dp[i][j+1]%=MOD;}}}
}
int main()
{// 0 0// 1 1// 2 2// 3
init();int n;cin>>n;ll ans = 0;for(int i=0;i<30;i++){ans += dp[n][i];}cout<<ans%MOD<<endl;return 0;
}

AC代码

转载于:https://www.cnblogs.com/Geek-xiyang/p/5990634.html

51nod 1412 AVL数的种类(DP相关推荐

  1. 洛谷2657 windy数(数位DP)

    传送门 [题目分析] 数位DP经典题了. 考虑直接统计R内的windy数和L-1内的windy数,两者相减即为L~R之间的windy数. 考虑DP,记录当前位以及上一位所填的数,当前是否前面为前导零, ...

  2. 题解-路径数+算法-回荡dp

    题解-路径数+算法-回荡dp Description 题目背景 Euphemia\texttt{Euphemia}Euphemia 到一个 N×NN\times NN×N 的药草田里采药,她从左上角的 ...

  3. 【每日一题Day95】LC1815得到新鲜甜甜圈的最多组数 | 状态压缩dp 记忆化搜索

    得到新鲜甜甜圈的最多组数[LC1815] 有一个甜甜圈商店,每批次都烤 batchSize 个甜甜圈.这个店铺有个规则,就是在烤一批新的甜甜圈时,之前 所有 甜甜圈都必须已经全部销售完毕.给你一个整数 ...

  4. HDU-2084 数塔 经典dp,水

    1.HDU-2084   数塔 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084 3.总结:从下往上推,最后归于顶点.方程为  dp[i][j] ...

  5. 8786:方格取数 (多线程dp)

    [题目描述] 设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.某人从图的左上角的A 点出发,可以向下行走,也可以向右走,直到到达右下角的B点.在走 ...

  6. hdu2167 方格取数 状态压缩dp

    题意:      方格取数,八个方向的限制. 思路:      八个方向的不能用最大流了,四个的可以,八个的不能抽象成二分图,所以目测只能用dp来跑,dp[i][j]表示的是第i行j状态的最优,具体看 ...

  7. uestc 250 windy数(数位dp)

    题意:不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 思路:数位dp #include<iostream ...

  8. 洛谷 P1004 方格取数 【多线程DP/四维DP/】

    题目描述(https://www.luogu.org/problemnew/show/1004) 设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放 人数字0. ...

  9. BZOJ 2734 [HNOI2012]集合选数 (状压DP、时间复杂度分析)

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2734 题解 嗯早就想写的题,昨天因为某些不可告人的原因(大雾)把这题写了,今天再来写题解 ...

最新文章

  1. HTML文档中应用css样式的方法总结
  2. OpenCV实现Mat与vector,Mat与数组互转
  3. Exception in thread main java.lang.NullPointerException一例解决
  4. Angular 项目 tsconfig.json 里定义的 out-tsc 还有作用吗?
  5. python用代码安装3.6_Python3.6安装及引入Requests库的实现方法
  6. linux shell之awk
  7. 2019.7.16考试总结
  8. unittest测试框架详谈及实操(四)
  9. 发送邮件 ajax,使用Ajax发送电子邮件
  10. 吴恩达神经网络和深度学习-学习笔记-24-在不同的划分上进行训练和测试+不匹配数据划分的偏差和方差
  11. IE7 下载EXCEL注意地方
  12. linux 统计文件的个数
  13. 100个高质量Java开发者博客 【转】
  14. 程序员所需要的数学知识都这里了
  15. 生活娱乐 WIFI机器人(某机器发烧友自己动手做一台)
  16. 【2022省选模拟】叮叮车——卡特兰数、数位DP
  17. Error: unable to perform an operation on node ‘rabbit@rabbitma‘ please see diamostics infoxmation
  18. 智慧档案馆档案库房一体化平台建设
  19. 链栈的定义、构建、入栈、出栈和取栈顶元素
  20. java EE 2019 11 15关于map集合

热门文章

  1. JZOJ 5431. 【NOIP2017提高A组集训10.28】序列操作
  2. vue 箭头函数兼容性_前端学习计划之VUE学习(二)
  3. python获取当前时间代码_python当前时间格式化代码
  4. python socket服务器多线程_Python多线程socket服务器端
  5. ue编辑器拖拽上传图片_Typora + PicGo打造超好用的Markdown编辑器
  6. 2021.02.01 Visual QA论文阅读
  7. Visual Tracking:运行ECO模型
  8. AtCoder AGC030B Tree Burning
  9. mysql insert报错_mysql数据库使用insert语句插入中文数据报错
  10. keil obj 文件 结构_keil下的STM32程序开发部署(一)