【*1900 DP+Tree】CF9D

news/2024/10/18 16:53:00/

Problem - 9D - Codeforces

题意:

思路:

计数问题,考虑计数DP

因为它是二叉树,比较特殊,所以可以考虑一下线性DP
按照题目最后要算的答案,状态可以这样设计:

设dp[i][j]表示树高为i,结点数<=j的方案数

它其实就是按照树高为阶段的DP

怎么去转移呢

如果我们按照最后一层,即都是叶子结点的那一层来转移,发现根本不知道怎么算贡献

关于树的DP,一般都是以子树作为主体的

如果我们按照最上面那一层转移,就会发现,转移的过程中,DP的主体就是子树

 这样就很好转移了

dp[i][j]为树高是i,总结点数是j的方案数,主体是整棵树

dp[i-1][j]为树高是i-1(去掉第一层),总结点数是j的方案数,此时这个DP数组的主体就是根节点的两棵子树

这样转移方程就是:

Code:

#include <bits/stdc++.h>#define int long longusing namespace std;const int mxn=1e2+10;int N,h;
int dp[mxn][mxn];//树高为i,该树除了子树根节点的子树有j个结点的方案数void solve(){cin>>N>>h;for(int i=0;i<=N;i++) dp[i][0]=1ll;for(int i=1;i<=N;i++){for(int j=1;j<=N;j++){for(int k=0;k<j;k++){dp[i][j]+=dp[i-1][k]*dp[i-1][j-k-1];}}}cout<<dp[N][N]-dp[h-1][N]<<'\n';
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;//cin>>__;while(__--)solve();return 0;
}

 


http://www.ppmy.cn/news/101822.html

相关文章

计算机网络学习笔记

<!-- GFM-TOC --> 计算机网络体系结构 传输层&#xff1a;TCP和UDP 什么是三次握手&#xff1f; 什么是四次挥手&#xff1f; TCP如何实现流量控制&#xff1f; TCP的拥塞控制是怎么实现的&#xff1f; TCP如何最大利用带宽&#xff1f; TCP与UDP的区别 TCP如何保…

Gradio的web界面演示与交互机器学习模型,高级接口特征《6》

大多数模型都是黑盒&#xff0c;其内部逻辑对最终用户是隐藏的。为了鼓励透明度&#xff0c;我们通过简单地将Interface类中的interpretation关键字设置为default&#xff0c;使得向模型添加解释变得非常容易。这允许您的用户了解输入的哪些部分负责输出。 1、Interpret解释 …

swagger-codegen的模板文件mustache中配置在swagger规范文档中自定义属性

在使用swagger-codegen生成代码时&#xff0c;我们经常需要使用自定义属性来生成我们需要的代码。swagger-codegen使用了mustache模板引擎来生成代码&#xff0c;而在mustache模板文件中&#xff0c;我们可以通过配置swagger规范文档中的自定义属性来生成我们需要的代码。本篇文…

子域名接管劫持

什么是域名劫持&#xff1f; 域名劫持也被称为DNS劫持&#xff0c;它通过攻击域名解析服务器、伪造域名解析服务器的方法&#xff0c;拦截目标的域名解析请求&#xff0c;将目标网站域名解析到错误的地址上&#xff0c;让攻击目前无法回应访问。 子域名接管漏洞通常被滥用于以…

一个产品的诞生

一个产品的诞生 一个产品的诞生通常需要经历多个阶段&#xff0c;包括市场调研、产品设计、原型制作、测试和生产等。在市场调研阶段&#xff0c;公司会了解消费者的需求和市场趋势&#xff0c;以确定产品的定位和特点。在产品设计阶段&#xff0c;设计师会根据市场调研结果和…

Jmeter 压测工具进行压力测试

需求&#xff1a;接口需要进行压力测试&#xff0c;有减库存的场景&#xff0c;要求并发不能超库存&#xff0c;接口鉴权类似token方式校验。 一、jemter 下载安装Java Downloads | Oracle &#xff0c;下载安装可以自行翻帖子&#xff0c;很多教程&#xff0c;本次实验用的是…

pb如何播放Flash

---- Flash动画不仅包含动画,还可有声音、超文本连接,同时由于它是矢量格式文件,生成的这种包含动画、声音等的文件(*.swf)很小,非常适 合在网络上传输使用,因而在当前Web网页技术中得到很快发展。本文讨论在PowerBuilder6.5数据库编程中用Flash4提供的控件"Swflas…

常用的七种设计模式

常用的七种设计模式 单例模式&#xff1a;保证一个类只有一个实例&#xff0c;并提供一个全局的访问点。它通常通过将构造函数私有化&#xff0c;并提供一个静态方法来实现。工厂方法模式&#xff1a;定义一个用于创建对象的接口&#xff0c;由子类决定实例化哪一个类。即用来…