标签:dist S2 S1 mid bfs 正确性 求树 直径 最远
结论:离树上任意点\(u\)最远的点一定是这颗树直径的一个端点。
证明:
若点\(u\)在树的直径上,设它与直径两个端点\(x,y\)的距离分别为\(S1\)、\(S2\),若距离其最远的点\(v\)不是这两个端点,
则\(dist(u,v) > S1 && dist(u,v) > S2\), 则必有\(S1 + dist(u,v) > S1 + S2 或 S2 + dist(u,v) > S1 + S2\),这与\((x,y)\)是直径的
假设相悖。
else
\(u\)不在树的直径上,则其到直径最近的一点\(mid\)的距离为\(dist(u,mid)\),设直径的两端点分别为\(x,y\)。
若距离\(u\)最远的点不是\(x,y\)之一, 设距离\(u\)最远的点为\(v\),
则路径\(u->v\)会出现如下几种情况:
1.完全经过路径\(u->mid\)
2.完全不经过路径\(u->mid\)
3.不完全经过路径\(u->mid\)
这3种情况都能推出\((x,y)\)不是树的直径的结论。
故结论正确。
标签:dist,S2,S1,mid,bfs,正确性,求树,直径,最远 来源: https://www.cnblogs.com/tztqwq/p/11625268.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。