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

洛谷 B2170:树上结点深度 ← DFS + 链式前向星

【题目来源】
https://www.luogu.com.cn/problem/B2170

【题目描述】
给定一棵包含 n 个结点的树,结点编号为 1∼n。我们将 1 号结点指定为这棵树的根。
定义根结点的深度为 1。对于任意非根结点 u,其深度定义为其父结点的深度加 1。
请你计算并输出这棵树中每个结点的深度。

【输入格式】
输入的第一行包含一个整数 n,表示树的结点个数。
接下来 n−1 行,每行包含两个整数 u,v,表示结点 u 和结点 v 之间存在一条无向边。保证输入的数据构成一棵树。​​​​​​​

【输出格式】
输出一行,包含 n 个整数。第 i 个整数表示编号为 i 的结点的深度。两个整数之间请用一个空格隔开。

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

【输出样例】
1 2 2 3 3

【数据范围】
对于 30% 的数据,满足 n≤100。
对于 60% 的数据,满足 n≤1000。
对于 100% 的数据,满足 1≤n≤500,000。保证输入的各条边能组成一棵含有 n 个结点的树。​​​​​​​

【算法分析】
● 链式前向星:https://blog.csdn.net/hnjzsyjyj/article/details/139369904
● 提升 cin/cout 速度:https://blog.csdn.net/hnjzsyjyj/article/details/143176072

【算法代码】

#include <bits/stdc++.h> using namespace std; const int N=5e5+5; int e[N<<1],ne[N<<1],h[N],idx; int dep[N]; void add(int a,int b) { e[idx]=b,ne[idx]=h[a],h[a]=idx++; } void dfs(int u,int fa) { dep[u]=dep[fa]+1; for(int i=h[u]; i!=-1; i=ne[i]) { int j=e[i]; if(j==fa) continue; dfs(j,u); } } int main() { ios::sync_with_stdio(0); cin.tie(0); memset(h,-1,sizeof h); int n; cin>>n; for(int i=1; i<n; i++) { int x,y; cin>>x>>y; add(x,y),add(y,x); } dfs(1,0); for(int i=1; i<=n; i++) { cout<<dep[i]<<" "; } return 0; } /* in: 5 1 2 1 3 2 4 2 5 out: 1 2 2 3 3 */



【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/160746347
https://blog.csdn.net/hnjzsyjyj/article/details/152726091
https://blog.csdn.net/hnjzsyjyj/article/details/152729089



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

相关文章:

  • 微信公众号 2026 年消息怎么迁移到新手机,实用教程 - 跑政通
  • Kimodo-SOMA-RP-v1.1在数字孪生中的应用:工业仿真案例研究
  • 2026年7月低噪声的聚丙烯膜轴向电容器供应商口碑推荐,电容/电容器,聚丙烯膜轴向电容器定制厂家哪个好 - 品牌推荐师
  • AI让个人软件开发变得简单
  • AMD Ryzen AI Llama-3.2-1B-Instruct_rai_1.7.1_npu_16K:高效NPU加速的16K上下文AI模型完全指南
  • 终极网络安全等级保护工具Golin:三步完成合规检测与风险发现
  • 【实战指南】云原生微服务电商:如何构建现代化分布式应用的完整教程
  • 2026年7月高端木作品牌推荐:五家品牌凭硬实力甄选高定家居 - 资讯速览
  • 亲身探访北京雷达官方售后服务中心|详细网点地址与售后服务电话(2026年7月最新) - 亨得利钟表维修中心
  • Qwen-Image-Edit-NVPCB-OVSL2SL模型训练与微调:从基础到高级的完整教程
  • 矛盾化解四步法:从冲突对抗到理性解决的智慧法则
  • 为什么Kimi K2正在重塑智能体开发范式:从混合专家架构到工具调用革命
  • 数字人软件哪个好,2026年数字人口播工作流,5款深度对比
  • 《凌微经 · 理悖相涵》第三章 静态自悖——宇宙元动第一因
  • 拳击机器人铁甲热斗场也能接住亲子客流
  • 鸿蒙智能体开发实战:21.使用知识库
  • Llama-3.1-8B_rai_1.7.1_npu_4K模型微调与定制化终极指南
  • 宁波AI智能体应用工程师正规报名渠道怎么找?报名前必看 - 人工智能报名机构推荐
  • FitGirl游戏启动器:三步轻松管理你的压缩版游戏库
  • 2026 零食加盟赛道 TOP5 综合横评:焗外人 97 分登顶榜首,量贩赛道内卷劣势凸显 - 资讯速览
  • # 软考软件设计师 · 每日考点速递 2026年7月9日(周四)| 下半年备考倒计时 **107天** | 基础精读第11天
  • 芝柏官方换电池价格查询|全部地址与售后电话权威信息公告(2026年7月最新) - 亨得利官方服务中心
  • Unity项目版本升级实战指南:从评估到验证的完整流程
  • 多 LoRA 推理服务架构深度解析:从 Punica SGMV 到 S-LoRA 分页适配器的高效多模型推理技术
  • 电缆故障定位仪:国产“关羽”对比 BAUR与Megger的深度指标解析
  • 备战2026系规,你最关心的9个问题,软考老金团队一次性给你讲透
  • 零成本获取3个模型!NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-BF16零样本切片教程
  • 【OAG vs RAG】OAG工程实战(下):权限治理与多模型协同
  • 2026 年现阶段,洛扎靠谱的景区活动电动蓬供应商综合实力解析,3天省下一辆车钱,这玩意儿让景区老板爽歪歪 - 鉴选官
  • AI-HF_Patch终极指南:5分钟搞定AI少女游戏优化与模组安装