两次bfs求树的直径证明
假设此树的最长路径是从s到t,我们选择的点为u。反证法:假设搜到的点是v。1、v在这条最长路径上,那么dis[u,v]>dis[u,v]+dis[v,s],显然矛盾。2、v不在这条最长路径上,我们在最长路径上选择一个点为po,则dis[u,v]>dis[u,po]+dis[po,t],那么有dis[s,v]=dis[s,po]+dis[po,u]+dis[u,v]>dis[s,po]+dis[po,t]=dis[s,t],即dis[s,v]>dis[s,t],矛盾。也许你想说u
转载
2021-08-21 14:23:42 ·
269 阅读 ·
0 评论