POJ1985 Cow Marathon

博客探讨了如何解决POJ1985题目的树的直径问题。通过两次BFS遍历,找到树中两点之间的最长路径作为直径。强调了不需要考虑数据后面的无关字母,以及在数据规模为n≤40000, m≤40000的情况下,避免使用最短路算法,直接使用搜索方法(如DFS)更优。" 104396710,9330063,Ubuntu 16.04 安装 Kubernetes 实践,"['Linux', 'Docker', 'Kubernetes', 'Ubuntu']
摘要由CSDN通过智能技术生成

树的直径

题目传送门

题目大意:给你一棵树,让你求其最大直径。

最大直径,其实就是树上的最长路。方法:设起点为 s,第一次BFS找到的终点 t 一定是树的直径的一个端点。然后把这个端点再BFS一遍,找距离最远的那条就是树的直径了。

几个注意点:
1.数据后面的那几个字母没用的,读完后就别管它。
2.数据范围是上一题的(也就是POJ1984),n<=40000,m<=40000。
3.别像最短路那样的跑来求最长路,直接搜索即可(前面的大佬们都是用DFS的),毕竟是树而不是图。

贴个代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#define MAXN 40000
#define MAXM 80000
using namespace <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值