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

AcWing 3699:树的高度 ← BFS + 邻接表

【题目来源】
https://www.acwing.com/problem/content/3702/

【题目描述】
树是一种特殊的图结构,有根树是一个有固定根的树。
现在给定一棵有根树,编程求出树中所有节点到指定的根节点最远距离。

【输入格式】
第一行是两个整数 N,M,表示数的顶点数和根节点的编号。
接下来 N−1 行,每行两个整数 u,v,表示编号为 u 的节点和编号为 v 的节点间有一无向条边。

【输出格式】
输出距离根节点最远的点到根的距离。

【数据范围】
1≤N≤10000,
1≤M≤N,
1≤u,v≤N

【输入样例】
5 5
1 2
1 4
1 5
2 3

【输出样例】
3

【算法分析】
本题的“链式前向星”实现:https://blog.csdn.net/hnjzsyjyj/article/details/152729089

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int N=1e4+5;
vector<int> g[N];
int dep[N];
int n,m,ans;void bfs(int rt) {memset(dep,-1,sizeof dep);queue<int> q;q.push(rt);dep[rt]=0;while(!q.empty()) {int u=q.front();q.pop();for(int v:g[u]) {if(dep[v]==-1) {dep[v]=dep[u]+1;ans=max(ans,dep[v]);q.push(v);}}}
}int main() {cin>>n>>m;for(int i=1; i<n; i++) {int a,b;cin>>a>>b;g[a].push_back(b);g[b].push_back(a);}bfs(m);cout<<ans<<endl;return 0;
}/*
in:
5 5
1 2
1 4
1 5
2 3out:
3
*/




【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/152729089
https://blog.csdn.net/hnjzsyjyj/article/details/152726091
https://www.acwing.com/solution/content/196325/
https://www.acwing.com/solution/content/224027/

 

http://www.jsqmd.com/news/746920/

相关文章:

  • **基于 10xProductivity 项目的最好用的前 5 个 Skill:解锁 AI 代理 10 倍生产力的核心能力**
  • 区间选择类问题 笔记
  • 【无人机控制】基于神经网络四旋翼无人机间接模型参考自适应控制附Matlab代码
  • 从“加壳”到“脱壳”:聊聊Themida这类工具在软件安全攻防中的角色演变
  • AI辅助开发新体验:让快马平台智能生成你的下一代浏览器下载管理器
  • 别再只玩点灯了!用ESP8266+机智云做个智能窗帘/玩具车转向舵机,实战物联网APP控制(附STM32源码)
  • 将Taotoken接入企业内部知识库问答系统的架构设计与实现
  • 如何永久禁用Windows Defender:Defender Control完整指南
  • 【NASA/JPL内部选型文档解密】:C语言形式化验证工具在高可靠系统中的5级可信度分级标准(含Frama-C/ESBMC/CPAchecker实测衰减曲线)
  • 存储过程 Stored Procedure 创建、执行、修改、删除
  • 别再混淆了!图解矩阵张量积(Kronecker积)与普通乘积的本质区别
  • 用CubeMX配置STM32串口DMA发送,别忘了勾选这个中断选项(避坑指南)
  • Java边缘节点部署“静默崩溃”排查手册(CPU毛刺/堆外内存泄漏/时钟漂移引发的ZGC失效)——某头部车企127台边缘设备故障根因分析报告
  • FastDDS 交叉编译
  • Windows系统批量卸载技术深度解析:BCUninstaller架构设计与实现原理
  • 基于Axon Hub构建高可用微服务消息枢纽:CQRS/EDA架构实践指南
  • 别再为Nginx配置发愁了:Certbot申请泛域名SSL证书后,一键部署到宝塔面板的完整流程
  • 【AI面试八股文 Vol.1.3 | 专题2:Chain-of-Thought(CoT)】CoT不是让模型“想一想”:Zero-shot / Few-shot 如何从论文机制讲到工程取舍
  • 从AlphaFold到DiffDock:用AI预测的蛋白结构做分子对接,效果到底怎么样?
  • AI辅助gstack开发:让快马智能生成GraphQL查询与React组件代码
  • 【数据驱动】基于神经网络温度控制的数据驱动控制附matlab代码
  • Python 3D物理仿真延迟高达400ms?TensorFlow/PyTorch张量运算迁移至CUDA Graph的3步零修改优化法(含JIT编译器绕过技巧)
  • AICoverGen:零门槛AI声线转换平台,重塑音乐创作与语音合成边界
  • 2026年4月石英纤维板供应商推荐,玻纤板/大阳角/冰火板/石英纤维板/A级抗倍特/树脂板,石英纤维板生产商找哪家 - 品牌推荐师
  • C++指针基础使用
  • 企业级应用如何通过多模型聚合避免单点故障
  • 从水稻田到云大屏:一个Java工程师用6周交付省级农业物联网平台的完整路径图(含GitHub私有仓库结构)
  • 半导体设备通信入门:从RS-232到TCP/IP,手把手拆解SECS/GEM协议栈
  • 在上海给孩子找少儿英语机构,怎么才能挑到真正专业靠谱的那家 - 品牌企业推荐师(官方)
  • 利用快马平台快速构建AI模型对比测试原型,加速技术选型