51nod 1412 AVL数的种类(DP
题意给了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 = ;
typedef long long ll;
ll dp[][];//i 表示个数 j表示深度
ll check(int x,int y)
{
return ;
}
void init()
{
dp[][] = dp[][] = ;
//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=;i<=;i++)
{
for(int j=;j<=;j++)
{
for(int k=;k<i;k++)
{
dp[i][j+] += dp[k][j]*dp[i-k-][j];
dp[i][j+] += *dp[k][j-]*dp[i-k-][j];
dp[i][j+]%=MOD;
}
}
}
}
int main()
{
// 0 0
// 1 1
// 2 2
// 3 init();
int n;
cin>>n;
ll ans = ;
for(int i=;i<;i++)
{
ans += dp[n][i];
}
cout<<ans%MOD<<endl;
return ;
}
AC代码
51nod 1412 AVL数的种类(DP的更多相关文章
- 51nod 1412 AVL树的种类(dp)
题目链接:51nod 1412 AVL树的种类 开始做的时候把深度开得过小了结果一直WA,是我天真了.. #include<cstdio> #include<cstring> ...
- 51nod 1412 AVL树的种类(经典dp)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1412 题意: 思路: 经典dp!!!可惜我想不到!! $dp[i][k] ...
- ACM学习历程—51NOD 1412 AVL树的种类(递推)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1770 这是这次BSG白山极客挑战赛的B题.设p(i, j)表示节点个数为 ...
- 51nod 1412 AVL树的种类
非常简单的一道题,一眼题 枚举左儿子大小,再枚举深度即可 复杂度$O(n^2 log n)$ #include <cstdio> #include <cstring> #inc ...
- BZOJ_1662_[Usaco2006 Nov]Round Numbers 圆环数_数位DP
BZOJ_1662_[Usaco2006 Nov]Round Numbers 圆环数_数位DP Description 正如你所知,奶牛们没有手指以至于不能玩“石头剪刀布”来任意地决定例如谁先挤奶的顺 ...
- BZOJ_1026_[SCOI2009]windy数_数位DP
BZOJ_1026_[SCOI2009]windy数_数位DP 题意:windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道, 在A和B之 ...
- 51nod 1293 球与切换器 | DP
51nod 1293 球与切换器 | DP 题面 有N行M列的正方形盒子.每个盒子有三种状态0, -1, +1.球从盒子上边或左边进入盒子,从下边或右边离开盒子.规则: 如果盒子的模式是-1,则进入它 ...
- windy数(简单数位DP)
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 6306 Solved: 2810[Submit][Sta ...
- 51nod 1232 完美数 数位dp
1232 完美数 题目来源: 胡仁东 基准时间限制:2 秒 空间限制:131072 KB 如果一个数能够被组成它的各个非0数字整除,则称它是完美数.例如:1-9都是完美数,10,11,12,101都 ...
随机推荐
- 3.4-3.6 依据业务需求分析HBase的表设计
一.依据[话单]查询需求分析HBase的表设计 1.分析 用户需要进行实时的查询,那么这些数据是放在HBase当中的,每个客户每天接打电话至少20个左右,而通信公司拥有很多用户,每天产生的数据都是上亿 ...
- hql实现对表的某几个(部分)字段查询
如何利用hql实现对表的部分字段查询 假如,我们有一张person表,对应实体类Person,表中有字段name,age,sex,address 哪我们如何来实现全部和部份字段的查询呢? hql的写法 ...
- Eclipse SVN 图标解释
[转]http://blog.sina.com.cn/s/blog_64941c8101018dno.html - 已忽略版本控制的文件.可以通过Window → Preferences → Team ...
- .NET开发人员如何开始使用ML.NET
随着谷歌,Facebook发布他们的工具机器学习工具Tensorflow 2和PyTorch ,微软的CNTK 2.7之后不再继续更新(https://docs.microsoft.com/zh-cn ...
- Docker 网络模型之 macvlan 详解,图解,实验完整
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 上一篇文章我们 ...
- PyCharm的一些使用技巧
定位到函数定义 在函数名处 Ctrl + B 就会快速定位到函数定义处 在Console中执行文件 全选内容后,右键菜单 Execute Selection in Console 或者快捷键 Alt ...
- DOM0、DOM2级事件
JavaScript DOM0.DOM2级事件 1.DOM0级事件:on+事件类型 在html行内直接绑定,也就是通过行内js绑定的例如<span onclick="alert('1' ...
- windows 自定义批处理BAT/CMD启动Redis等软件
需求:每次开机都需要启动Redis.QQ.IDEA等等好几个软件,手动点击比较无趣.浪费劳动力,所以通过自定义bat文件,进行批量启动. 唯独启动到Redis时出现问题,下面是在bat里运行的路径: ...
- J - 吉哥系列故事――恨7不成妻
#include "cstdio" #include "math.h" #include "cstring" #define mod 100 ...
- 在接口的实现类里使用@Override注解报错
问题分析 @Override注解用来检测子类对父类或接口的方法的重写是否正确,但有一次我在Eclipse里对接口的实现类里使用@Override注解却报错,不过在父类的子类里使用该注解却是正常的. 百 ...