【前言】储存一个小知识点
【题意】
告诉你农场的地图(该地图的描述与上题一致),请帮助约翰寻找两个最远农场间的距离.
【题解】
只需求树的直径即可。
从任意一点bfs,找到一个最远点,再从这个点bfs,找到的最远点就是直径。
通过分类讨论和反证法可以证明。
可以看这篇非常好的博文—–>树的直径详细证明
【代码】
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define N 100010
using namespace std;
struct node{
int to,w,next;}e[N*

博客介绍了如何解决Usaco2004 February竞赛中的Cow Marathon问题,即求解农场地图中两个最远农场之间的距离。解题关键在于计算树的直径,通过两次BFS遍历找到最远节点,从而确定树的直径。文章提供了问题的详细解释和证明,并提到了相关博文作为深入学习的资源。
最低0.47元/天 解锁文章
1330

被折叠的 条评论
为什么被折叠?



