c/c++ | 求叶子结点个数 |构建B树 | 动态规划--找叶子结点个数

news2024/11/15 11:12:53

是这样的,一道代码题,根据输入数据,计算运行结果

#include<bits/stdc++.h>
using namespace std;
vector<int>g[10];
int ans = 0;
void dfs(int x){
    if(g[x].size() == 0){
        ans++;
        return;
    }
    for(int i = 0; i < g[x].size(); ++i){
        dfs(g[x][i]);
    }
}
int main(){
    int n, x;
    scanf("%d", &n);
    for(int i = 2; i <= n; ++i){
        scanf("%d", &x);
        g[x].push_back(i);
    }
    dfs(1);
    cout<<ans<<endl;
    return 0;
}

有两处需要注意:
第一就是万能头文件 #include<bits/stdc++.h>
第二就是 std::vector g[10] 这个二维数组,长度为10,然后每个元素数据类型是 std::vector
然后根据输入数据
n = 9 (一共有 1-9 这9 个结点)
然后在每层构建结点关系(其实就是构造一个B树)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
然后有图有真相,这就是求这棵树的叶子结点个数。
这是一个很好的思路构建B树,然后使用dfs 动态规划 得出叶子结点。

这确实是一个很好的考察点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1515889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CVE-2019-5782:kArgumentsLengthType 设置偏小导致优化阶段可以错误的去除 CheckBound 节点

文章目录 环境搭建漏洞分析笔者初分析笔者再分析漏洞触发源码分析 漏洞利用总结 环境搭建 sudo apt install pythongit reset --hard b474b3102bd4a95eafcdb68e0e44656046132bc9 export DEPOT_TOOLS_UPDATE0 gclient sync -D// debug version tools/dev/v8gen.py x64.debug ni…

学会这几步,让酷开系统的使用体验更加出色!

在当今数字化快速发展的时代&#xff0c;用户体验&#xff08;User Experience, UX&#xff09;已成为产品和服务成功的关键因素之一。随着市场竞争的加剧&#xff0c;仅仅提供功能性强大的产品已不足以满足用户的需求&#xff0c;如何提升整体体验、确保用户的满意度和忠诚度&…

uniapp开发的跳转到小程序

uniapp开发的h5跳转到小程序 https://www.cnblogs.com/xiaojianwei/p/16352698.html官方&#xff1a;使用 URL Scheme 打开小程序 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html 链接代码 <a href"weixin://dl/business/…

标准砂轮加工麻花钻或者铣刀螺旋槽齿形

螺旋槽与砂轮的空间位置运动关系可用下图表示&#xff0c;螺旋槽的形成靠工件绕轴线的旋转以及砂轮沿轴线的移动来完成的&#xff0c;以下坐标系可以清楚的描述二者之间的运动关系&#xff1a; 砂轮的形状如下&#xff1a; 经过坐标变换和下面这个重要的公式来计算工件的齿形…

【Docker】在 Ubuntu20.04 上配置 Docker 开发环境

【Docker】在 Ubuntu20.04 上配置 Docker 开发环境 1 安装 Docker2 加入 Docker 用户组 1 安装 Docker 参考文档: Link 卸载以避免冲突 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done设…

水文监测站的工作原理

TH-SW3水文监测站是一种专门用于监测水文气象数据的设施或场所&#xff0c;通常位于河流、湖泊、水库或其他水体附近。其主要功能包括收集和记录与水文气象相关的数据&#xff0c;如降雨量、水位、水温、流量、蒸发量等信息。这些数据对于水资源管理、防洪抗旱、生态环境保护等…

vmware workstation虚拟机报错”该虚拟机似乎正在使用中“

虚拟机报错&#xff1a; 解决方法&#xff1a; 进入到虚拟机的安装目录里&#xff0c;将lck结尾的文件删掉即可 重新点击虚拟机恢复正常

小白学视觉 | 神经网络训练trick总结

本文来源公众号“小白学视觉”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;神经网络训练trick总结 来自 | 知乎 作者 | Anticoder 链接 | https://zhuanlan.zhihu.com/p/59918821 本文仅作学术交流&#xff0c;如有侵权&am…

LLM和自动驾驶强强联合 | DriveDreamer-2:自动驾驶定制视频生成世界模型!

文章链接&#xff1a;https://arxiv.org/pdf/2403.06845.pdf 项目文档&#xff1a;https://drivedreamer2.github.io/ 自动驾驶是最近几年非常火热的方向&#xff0c;那LLM和视频生成在自动驾驶领域有哪些应用呢&#xff1f;今天和大家一起学习一下最新的一篇工作————Driv…

什么是文档签名证书?文档签名证书有什么用?

在数字化高速发展的当今时代&#xff0c;各行各业都开始向数字化转型&#xff0c;随着国家大力倡导和积极推进数字化&#xff0c;电子文件的应用越来越广泛。然而&#xff0c;电子文件包含了个人隐私、金融交易、电子处方、合同协议等敏感信息&#xff0c;如何确保这些重要文件…

迷你内裤洗衣机排名前十名:2024年十大口碑一流内衣洗衣机推荐

如果你对于内衣物的卫生有特殊的清洗需求&#xff0c;那么一台内衣专用的迷你内裤洗衣机是十分值得买的&#xff0c;由于迷你内裤洗衣机的外观尺寸小、重量轻&#xff0c;所以很容易搬运和携带&#xff0c;适合单身公寓、旅馆、露营等场合&#xff0c;不用像传统的家庭洗衣机那…

Unity开发必备AI工具

人工智能&#xff08;AI&#xff09;正在迅速改变世界&#xff0c;游戏开发行业也不例外。 人工智能工具被用来创建更真实、更有吸引力的游戏、自动化任务并改进整体开发流程。 Unity 3D 游戏开发人员可以受益于使用 AI 工具来简化工作流程并提高游戏质量。 最近的统计数据显示…

PyJWT 登录鉴权最佳实践【Refresh Token】

&#x1f389; Json web token (JWT), 根据官网的定义&#xff0c;是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准&#xff08;RFC 7519)。该token被设计为紧凑且安全的&#xff0c;特别适用于分布式站点的单点登录&#xff08;SSO&#xff09;场景。JWT的声明…

NASA数据集——2017年美国阿拉斯加以及加拿大北部二氧化碳探测仪监测的大气后向散射系数剖面图数据集

来自二氧化碳探测仪的大气后向散射系数剖面图&#xff0c;2017年 本数据集提供了2017-07-20至2017-08-08期间在美国阿拉斯加以及加拿大育空地区和西北地区上空进行的二氧化碳夜间、白天和季节排放主动传感&#xff08;ASCENDS&#xff09;部署期间收集的大气后向散射系数剖面图…

HTML5+CSS3+移动web——CSS 文字控制属性

系列文章目录 HTML5CSS3移动web——HTML 基础-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136070953?spm1001.2014.3001.5502HTML5CSS3移动web——列表、表格、表单-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136221443?spm1001.2…

C++ //练习 10.34 使用reverse_iterator逆序打印一个vector。

C Primer&#xff08;第5版&#xff09; 练习 10.34 练习 10.34 使用reverse_iterator逆序打印一个vector。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /**************************************************************…

springboot整合最新版minio和minio的安装(完整教程,新人必看)

概述&#xff1a;这种东西&#xff0c;多写点&#xff0c;方便以后自己使用 目录 第一步&#xff1a;docker安装配置minio 第一步&#xff1a;拉取镜像 第二步&#xff1a;创建用于存储MinIO数据的卷 如果是最新版minio直接就使用最后的那个命令创建容器 第三步&#xff…

Linux:kubernetes(k8s)lable和selecto标签和选择器的使用(12)

通过标签是可以让我们的容器和容器之间相互认识&#xff0c;简单来说一边打了标签&#xff0c;一边使用选择器去选择就可以快速的让他们之间耦合 定义标签有两种办法&#xff0c;一个是文件中&#xff0c;一个是命令行里 我们在前几章编进文件的时候里面都有lable比如 这个就是…

观测云在 .NET 业务中分析性能问题的最佳实践

背景 某药业集团是一家以创新技术驱动的线下医疗数据 SaaS 平台建设和运营公司&#xff0c;其主营的某智慧医疗平台产品&#xff0c;围绕线下医疗场景痛点提供一体化服务解决方案。近期集团对其生物检材在线递检系统进行功能升级开发及 IaaS 平台迁移。在针对新系统和新基础设…

Java异常分类(三)

ClassCastException异常&#xff1a; class Animal{} class Dog extends Animal{} class Cat extends Animal{} public class Test5{public static void main(String[] args){Animal a new Dog();Cat c (Cat)a;} } 执行结果如图所示&#xff1a; 解决 ClassCastException 的…