![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树上问题(二)树的直径
01232012
lnssyzx的蒟蒻
展开
-
树的直径知识点
##求解树的直径方法(2次dfs) 1、设 s-t这条路径为树的直径 证明:从任意一点u出发搜到的最远的点一定是s、t中的一点,然后再从这个最远点开始搜,就可以搜到另一个最长路的端点,即用两遍广搜就可以找出树的最长路 1.设u为s-t路径上的一点,结论显然成立,否则设搜到的最远点为T,则dis(u,T) >dis(u,s)且dis(...原创 2018-09-22 07:46:01 · 193 阅读 · 0 评论 -
POJ 2631 Roads in the North
算法:树的直径裸题 难度:*NOIP-* 没有什么好说的,跑2遍dfs,找到树的直径即可! #include <cstdio> #include <iostream> #include <cstdlib> #include <cstring> #include <algorithm> #include <cmath&...原创 2018-09-22 07:49:20 · 106 阅读 · 0 评论 -
[NOI2003]逃学的小孩
算法:最短路+树的直径 难度:NOIP 注意:多年OI一场空,不开long long见祖宗! 如果不开long long,应该会被卡到60分! 注意:dfs找树的直径时,传的参数“d”也要开long long哦!!! 首先,因为无论如何答案都会包括A到B的dis,所以我们先用2遍dfs找到dis(A->B)的最大值(即:树的直径); 然后我们来考虑答案的另一...原创 2018-09-22 09:27:53 · 239 阅读 · 0 评论 -
湫湫系列故事——设计风景线 HDU - 4514
算法:判环+树的直径 难度:NOIP 简述题意:先根据此图判环(dfs/并查集),如果有环,输出YES,exit(0); 否则,找到树的直径(2遍dfs),就可以了! 注意:1、edge数组开2倍 2、找直径时dfsd的函数中深搜要写dfsd(to,dis[to]),不要写dfs(to,dis[to]);!!! ...原创 2018-09-23 08:30:31 · 208 阅读 · 0 评论