正题

题目链接:https://www.luogu.com.cn/problem/CF9D


题目大意

求nnn个点组成的深度大于hhh的二叉树有多少个。


解题思路

定义fi,jf_{i,j}fi,j​表示iii个点高度为jjj的树有多少个,然后每次将两棵(a,b)(x,y)(a,b)(x,y)(a,b)(x,y)合并就有
fa+x+1,max{b,y}+1+=fa,b∗fx,yf_{a+x+1,max\{b,y\}+1}+=f_{a,b}*f_{x,y}fa+x+1,max{b,y}+1​+=fa,b​∗fx,y​

然后O(n4)O(n^4)O(n4)转移即可。

好像可以用前缀和优化到O(n3)O(n^3)O(n3)但是懒就不写了。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=40;
ll n,k,ans,f[N][N];
int main()
{scanf("%lld%lld",&n,&k);f[0][0]=1;for(ll i=1;i<=n;i++){for(ll x=0;x<=i;x++)for(ll y=0;y<i;y++)for(ll b=0;b<i;b++)f[i][max(y,b)+1]+=f[i-x-1][y]*f[x][b];}for(ll i=k;i<=n;i++)ans+=f[n][i];printf("%lld",ans);
}

CF9D-How many trees?【dp】相关推荐

  1. CodeForces 711C.Coloring Trees【DP】

    看上去就是DP的一个题,由于自己太菜了,还是不会做 先给个提交的地方:cf 711C 这个题看到数据,很明显是dp,因为n,m,k的值都不大,我们可以建立矩阵来推理 很明显答案跟dp[n][k]有关 ...

  2. 【DP】【期望】$P1850$换教室

    [DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...

  3. Bailian2760 数字三角形【DP】

    2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...

  4. NUC1131 Triangle【DP】

    Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...

  5. LeetCode:完全平方数【279】【DP】

    LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...

  6. 【DP】序列 题解

    [DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...

  7. poj 2411 Mondriaan#39;s Dream 【dp】

    题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...

  8. BestCoder冠军赛 - 1005 Game 【DP】

    [题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时, ...

  9. 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...

    1 build 1.1 Description 从前有一个王国,里面有n 座城市,一开始两两不连通.现在国王将进行m 次命令,命令可 能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命 ...

最新文章

  1. 2021年大数据Hadoop(四):Hadoop发行版公司
  2. Linux 计划任务 访问网页
  3. union和union all有什么区别_什么是Python Wheels?为什么要关心它?
  4. linux中offsetof与container_of宏定义
  5. android-Activity
  6. 征战蓝桥 —— 2016年第七届 —— C/C++A组第7题——剪邮票
  7. 【工业控制】UV打印机喷头波形和墨水关系
  8. suse linux ssh远程无法访问问题
  9. java后端工程师平时开发或多或少会用到Intellij idea,那么它有哪些快捷键呢
  10. 建立任务程序直接执行网页(.net)
  11. 矩阵运算_Eigen使用_基本数据类型
  12. spring事务失效一:非public方法
  13. 基于NodeJS实现企业微信机器人推送
  14. EverEdit: Windows上国人开发的比Notepad++更优秀的高级文本编辑器
  15. 数据交换技术(*):电路交换,报文交换,分组交换的概念,特点和优缺点以及存储转发技术概念
  16. 共享办公室,推送企业紧密合作
  17. AStyle2.02在VS2008下的使用
  18. 论文研读:Operating System Support for NVM+DRAM Hybrid Main Memory
  19. QQ JS省市区三级联动
  20. Centos离线安装Kubernetes集群

热门文章

  1. python with循环_Python for循环、while循环
  2. php js 复选框选中,为每个选中的复选框显示相同的一组问题。 (PHP和JS / Jquery)...
  3. git使用的基本流程_git命令的基本使用
  4. springboot2 多线程写入数据_解决SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean问题...
  5. 算法题目——二次函数三分求极值(HDU-3714)
  6. w7下如何安装linux双系统,ubuntu安装教程(下): 教你装win7+Ubuntu双系统
  7. mycli mysql_MyCLI :易于使用的 MySQL/MariaDB 客户端
  8. leetcode239. 滑动窗口最大值(思路+详解)
  9. pip 设置超时时间_Python pip使用超时问题解决方案
  10. [Redis6]新数据类型_Geospatial