当前位置: 首页 > news >正文

二叉树 (动态规划)

牛客测试地址:https://www.nowcoder.com/practice/aaefe5896cce4204b276e213e725f3ea

思路:

考虑使用二维动态规划来解。首先先把节点为0,高度不超过m的情况下,不难发现,方案数为1,所以我们初始化节点为0,高度从0~m的情况的方案,接下来使用动态规划遍历子树,dp[i][j] 就是所有dp[k][j-1]dp[i-k-1][j-1]的和,dp[i][j]表示节点数为i,高度不超过j的二叉树的方案数,那么它的方案数实际就是,遍历左子树的节点从0~i-1,因为父节点使用了一个节点,所以剩下的可操作的子节点只有i-1个,累加左子树方案数右子树的方案数,就是该情况的答案

题解:

#include <bits/stdc++.h>
const int N=61;
const int mod = 1e9+7;
using namespace std;
long long dp[N][N];
int main()
{int n,m;cin>>n>>m;for(int i=0;i<=m;i++)dp[0][i]=1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){for(int k=0;k<i;k++){dp[i][j]=(dp[i][j]+dp[k][j-1]*dp[i-k-1][j-1])%mod;}}}cout<<dp[n][m]<<endl;return 0;
}
http://www.sczhlp.com/news/802.html

相关文章:

  • 1 引言(1.1 - 1.5)
  • 支持向量机算法
  • 决策树算法
  • 逻辑回归算法
  • static关键字--main函数
  • 长文!推荐‑搜索‑广告系统评估指标与损失函数技术报告
  • 集成学习算法
  • K 近邻算法
  • CVE-2020-13945 Apache APISIX 默认密钥漏洞 (复现)
  • 1 引言(1.6)
  • 可并堆(左偏树)
  • 7-28
  • DAY24
  • 2025 ZR暑假集训 CD联考 Day2 E 环球旅行
  • zk后集训
  • 乘法逆元(部分施工)、exgcd
  • 夏令营Ⅲ期
  • centos8.2 挂载本地镜像作为yum源
  • 非常值得学习渲染入门的一个教程
  • HDU 多校 2025 R3
  • 7.28SAM后缀自动机,回文自动机
  • Linux开机自动登录的一种方法
  • day5
  • JAVA语言学习总结(第27天)
  • CVE-2021-45232 Apache APISIX Dashboard身份验证绕过漏洞 (复现)
  • IIS中配置HTTPS证书的详细步骤
  • Python入门学习(七)高级部分:正则表达式
  • 在运维工作中,如果运行的一个容器突然挂了,如何排查?
  • SciTech-EECS-Library: img2pdf 与 pdf2image : Python 的 pdf 与 image 双向转换库
  • 在运维工作中,docker封闭了哪些资源?