
树的直径
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
树的直径—求法
先给出树的直径的定义:一棵树中任意两点间的路径叫“链”,最长的链称作树的直径。树的直径并没有明确指明是一个距离还是一段路径,其实两者都可以用“树的直径”来称呼。 具体求树的直径我们有两种方法,一种用DP,一种用dfs,它们的时间复杂度都是O(N)。 树形DP法 设数组D[i]表示从节点i出发往子树方向走的最长距离,F[i]表示以节点i为转折点的最长链。显然ANS=max{F[i]}。 仔...原创 2018-10-03 21:12:54 · 1462 阅读 · 0 评论 -
洛谷3629[APIO2010]巡逻(树的直径)
题目 洛谷3629 [APIO2010]巡逻 题解 树的直径 当k=0时,ans=2*(n-1)。 当k=1时,显然连接树的直径两端是最优的。 当连接两个点x,y时,x-y之间的路径就只被算了一次,ans=2(n-1)-l+1,其中l为树的直径。 当k=2时,如果连接的部分没有关联,那ans=2(n-1)-l1+1-l2+1,其中l1,l2为树的直径。 如果有相交部分,那么相交部分从原...原创 2018-10-03 21:54:11 · 360 阅读 · 0 评论 -
洛谷1099 & bzoj1999 树网的核(树的直径)(双指针)
题目 洛谷1099 树网的核bzoj1999 树网的核(加强版) 题解 树的直径 首先要发现一个结论:在任意一条树的直径上求最小偏心距是一样的! 简单证明一下,自己yy吧~ 这样以后就可以乱搞了,O(N^3)暴力也可以过n=300的数据。 直接上O(N)正正解! 随便搞出一条直径来,这些点分别是a1,a2,…,at。在直径上一个点al,会有一个最大的ar,使得dist[ar]-dist[a...原创 2018-10-03 22:32:04 · 373 阅读 · 0 评论