很简单的二叉树遍历问题,可以用dfs(深度优先搜索)解决。

看到数据范围,最大不超过 \(10^6\) ,可以不开 long long (但我还是习惯性地开了)

接下来上代码:

#include<bits/stdc++.h>
#define LL long long //宏定义
using namespace std;
const int N=1e6+5;
vector<LL>tree[N];//其实可以开两个数组L[i]和R[i]来表示节点i的左右子节点,但是我懒得改了awa
LL Max=-1;//打擂台求深度用
void dfs(LL u,LL f/*没用*/,LL dep/*计算深度*/){
Max=max(Max,dep);//打擂台,遍历完后Max就是二叉树的深度
for(LL v:tree[u]){//上个题遗留下来的,实际上可以直接遍历第0项和第1项的
if(v==f||v==u||u==f)continue;//一个没什么用的去重,做其他题的时候写的,这道题用不到
dfs(v,u,dep+1);
}
}
int main(){
LL n;
cin>>n;
for(LL i=1;i<=n;i++){
LL v1,v2;
cin>>v1>>v2;//传入节点
tree[i].push_back(v1);//祖传代码
tree[i].push_back(v2);
}
dfs(1,0,0);
cout<<Max;//输出结果
return 0;
}

\(\tiny 附\)\(\tiny 原题链接\)

洛谷P4913【深基16.例3】二叉树深度题解的更多相关文章

  1. 【vector+pair】洛谷 P4715 【深基16.例1】淘汰赛

    题目:P4715 [深基16.例1]淘汰赛 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题因为数据范围不大,所以做法可以非常简单,使用一个vector加上pair就可以了: ...

  2. P4715 【深基16.例1】淘汰赛

    P4715 [深基16.例1]淘汰赛 题目描述 有 2^n(n≤7) 个国家参加世界杯决赛圈且进入淘汰赛环节.我经知道各个国家的能力值,且都不相等.能力值高的国家和能力值低的国家踢比赛时高者获胜.1 ...

  3. 【洛谷P3369】【模板】普通平衡树题解

    [洛谷P3369][模板]普通平衡树题解 题目链接 题意: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3 ...

  4. 洛谷 P1992 不想兜圈的老爷爷 题解

    洛谷 P1992 不想兜圈的老爷爷 题解 题目描述 一位年过古稀的老爷爷在乡间行走 而他不想兜圈子 因为那会使他昏沉 偶然路过小A发扬助人为乐优良传统 带上地图 想知道路况是否一定使他清醒 usqwe ...

  5. 如何求先序排列和后序排列——hihocoder1049+洛谷1030+HDU1710+POJ2255+UVA548【二叉树递归搜索】

    [已知先序.中序求后序排列]--字符串类型 #1049 : 后序遍历 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho在这一周遇到的问题便是:给出一棵二叉树的前序和 ...

  6. 洛谷 P1789 【Mc生存】插火把 题解

    P1789 [Mc生存]插火把 题目背景 初一党应该都知道...... 题目描述 话说有一天 linyorson 在"我的世界"开了一个 \(n\times n(n\le 100) ...

  7. BZOJ5285 & 洛谷4424 & UOJ384:[HNOI/AHOI2018]寻宝游戏——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5285 https://www.luogu.org/problemnew/show/P4424 ht ...

  8. 洛谷p3384【模板】树链剖分题解

    洛谷p3384 [模板]树链剖分错误记录 首先感谢\(lfd\)在课上调了出来\(Orz\) \(1\).以后少写全局变量 \(2\).线段树递归的时候最好把左右区间一起传 \(3\).写\(dfs\ ...

  9. 洛谷P8508 做不完的作业【题解】

    事先声明 此题解为一篇洛谷题解的详细补充,这里(我才不告诉你我这道题想了好久) 题目大意 有 \(n\) 个任务,记作 \(t\) 数组,由于主人公很懒,所以他每天都要睡觉,每一天都有 \(x\) 小 ...

  10. 【洛谷5288】[HNOI2019] 多边形(二叉树模型)

    点此看题面 大致题意: 给你一个多边形,用若干不重合.不相交的线段将其划分为若干三角形区域,并定义旋转操作\((a,c)\)为选定\(4\)个点\(a,b,c,d\)满足\(a<b<c&l ...

随机推荐

  1. Oracle数据库安装与还原

    安装Oracle 11g数据库 安装数据库参考这位大佬的文章:(135条消息) Oracle 11g版本下载及安装超详细教程图解_oracle11g下载_田夜的博客-CSDN博客 非常详细 利用dmp ...

  2. 第1章-JSP 简介

    目录 什么是JSP 安装配置JSP运行环境 JSP页面 JSP页面简介 设置Web服务目录 JSP运行原理 JSP 与Java Servlet的关系 HTML与JavaScript 什么是JSP ★ ...

  3. mongo查看服务状态

    转载请注明出处: 查看数据库列表 show dbs 查看当前数据库 db 查看集合列表 show collections 查看数据库的状态 db.stats() 查看集合的状态 db.collecti ...

  4. LoRaWAN网关价格干穿地板了

    废话不多说,不要998,不要688,以太网版本只要398,4G版本只要498. 先上图片 1.1 产品特点 ◆ 高性能嵌入式硬件平台 ◆ 使用工业级 Cat.1 4G 模块 ◆ 宽压输入 DC 9-2 ...

  5. Project: Kill e

    接到上级任务,今天来暗杀 \(e\) 据说杀死 \(e\) 的方式就是把他算出来,好吧,现在我们还是来算一下 考虑使用如下代数式求解 \[e\ \text{site:baidu.com} \] 虽然我 ...

  6. 将ASD光谱仪的.asd文件转为文本文件

      本文介绍基于ViewSpec Pro软件,将ASD地物光谱仪获取到的.asd格式文件,批量转换为通用的.txt文本格式文件的方法.   ASD光谱仪是英国Malvern Panalytical公司 ...

  7. C++20中对于并发方面的进步

    在当今的编程世界中,并发处理能力变得越来越重要.C++20 在并发方面带来了一些进步,使开发者能够更高效.更安全地编写多线程应用程序.这些进步主要包括: 作用域线程(Scoped Threads) 停 ...

  8. go 使用websocket

    package chat import ( "encoding/json" "github.com/gorilla/websocket" "githu ...

  9. CMake 属性之全局属性

    [写在前面] CMake 的全局属性是指在 CMake 配置过程中,对整个项目范围生效的设置. 这些属性不同于目标 ( Target ) 属性或目录 ( Directory ) 属性,后者仅对特定的目 ...

  10. USB设备类型代码、详细说明、查询方式

    以下是相关类型的详细说明: 地址:https://www.usb.org/documents 搜索device class 以下是USB所有支持的设备类型代码 地址:http://www.usb.or ...