CF9D-How many trees?【dp】
正题
题目链接: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】相关推荐
- CodeForces 711C.Coloring Trees【DP】
看上去就是DP的一个题,由于自己太菜了,还是不会做 先给个提交的地方:cf 711C 这个题看到数据,很明显是dp,因为n,m,k的值都不大,我们可以建立矩阵来推理 很明显答案跟dp[n][k]有关 ...
- 【DP】【期望】$P1850$换教室
[DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...
- Bailian2760 数字三角形【DP】
2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...
- NUC1131 Triangle【DP】
Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...
- LeetCode:完全平方数【279】【DP】
LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...
- 【DP】序列 题解
[DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...
- poj 2411 Mondriaan#39;s Dream 【dp】
题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...
- BestCoder冠军赛 - 1005 Game 【DP】
[题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时, ...
- 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...
1 build 1.1 Description 从前有一个王国,里面有n 座城市,一开始两两不连通.现在国王将进行m 次命令,命令可 能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命 ...
最新文章
- 2021年大数据Hadoop(四):Hadoop发行版公司
- Linux 计划任务 访问网页
- union和union all有什么区别_什么是Python Wheels?为什么要关心它?
- linux中offsetof与container_of宏定义
- android-Activity
- 征战蓝桥 —— 2016年第七届 —— C/C++A组第7题——剪邮票
- 【工业控制】UV打印机喷头波形和墨水关系
- suse linux ssh远程无法访问问题
- java后端工程师平时开发或多或少会用到Intellij idea,那么它有哪些快捷键呢
- 建立任务程序直接执行网页(.net)
- 矩阵运算_Eigen使用_基本数据类型
- spring事务失效一:非public方法
- 基于NodeJS实现企业微信机器人推送
- EverEdit: Windows上国人开发的比Notepad++更优秀的高级文本编辑器
- 数据交换技术(*):电路交换,报文交换,分组交换的概念,特点和优缺点以及存储转发技术概念
- 共享办公室,推送企业紧密合作
- AStyle2.02在VS2008下的使用
- 论文研读:Operating System Support for NVM+DRAM Hybrid Main Memory
- QQ JS省市区三级联动
- Centos离线安装Kubernetes集群
热门文章
- python with循环_Python for循环、while循环
- php js 复选框选中,为每个选中的复选框显示相同的一组问题。 (PHP和JS / Jquery)...
- git使用的基本流程_git命令的基本使用
- springboot2 多线程写入数据_解决SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean问题...
- 算法题目——二次函数三分求极值(HDU-3714)
- w7下如何安装linux双系统,ubuntu安装教程(下): 教你装win7+Ubuntu双系统
- mycli mysql_MyCLI :易于使用的 MySQL/MariaDB 客户端
- leetcode239. 滑动窗口最大值(思路+详解)
- pip 设置超时时间_Python pip使用超时问题解决方案
- [Redis6]新数据类型_Geospatial