码迷,mamicode.com
首页 >  
搜索关键字:树的直径    ( 435个结果
图论相关性质和结论(基础 / 初赛)
图论相关性质和结论整理 树的直径相关 边权非负时,两端点必为叶子节点。 对于两棵树,第一棵树的直径端点为 \(u_1,v_1\) ,第二棵的为 \(u_2,v_2\) ,将两棵树用一条边合并,新树的直径的端点必为上述四个端点中的两个。 若在一棵树的叶子结点上新接一个节点,直径最多会改变一个端点。 一 ...
分类:其他好文   时间:2021-04-14 12:09:18    阅读次数:0
1021 Deepest Root (25分)
树的直径+统计连通块数。 和树的直径的模板题不同的是要求出所有能够构成直径两个端点的点,即为最深的根。 注意对$n=1$的特殊处理,这个corner case还是挺好想的,第一次交$23$分,调试一下就发现了。 由于要从小到大输出所有最深的根,故将它们全部插入集合中输出。 连通分量直接dfs统计就行 ...
分类:其他好文   时间:2021-01-27 13:11:33    阅读次数:0
微软面试题: LeetCode 543. 二叉树的直径出现次数:3
题目描述: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。 这条路径可能穿过也可能不穿过根结点。 分析: 本题和 124. 二叉树中的最大路径和 是一样的思想 ,124 题是在二叉树中 求一条路径 使得这条路径上的 节点和最大。本题是在二叉树树中找一条 ...
分类:其他好文   时间:2020-11-21 11:56:08    阅读次数:3
CF455C Civilization
题意简述 题目链接 给定一n个点、m条边的森林,q次操作,操作分两种:1.给定一个点x,要求x所在的树的直径;2.给定两个点x,y,选取x所在树中的一个点u,y所在树中的一个点v,新增一条边(u,v),合并两棵树,使得合并后的新树的直径最小。 算法概述 对于初始的森林,显然可以dp一遍求出所有树的原 ...
分类:其他好文   时间:2020-10-05 21:55:02    阅读次数:30
二叉树的直径
题目描述: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径 ...
分类:其他好文   时间:2020-08-05 10:32:26    阅读次数:55
LeetCode124二叉树中的最大路径和
题目链接 https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/ 题解 递归解法 路径:一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 这道题和LeetCode687最长同值路径和Leet ...
分类:其他好文   时间:2020-07-27 23:35:37    阅读次数:74
CF1019E Raining season
题面 英文题面 题意:有一棵$n$个点的树,每条边的边权是一个一次函数$a_i\times t +b_i$。求对于所有的$t\in [0,m-1]$的树的直径。 \(n \leq 10^5,m\leq 10^6,a_i\leq 10^5,b_i \leq 10^9\)。 题解:首先,最暴力的做法就是 ...
分类:其他好文   时间:2020-07-21 01:15:15    阅读次数:57
刷题记录:leetcode543:二叉树的直径
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例: 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 刚看到题目的时候觉得很简单,不就是递归计算左子树 ...
分类:其他好文   时间:2020-07-11 23:17:38    阅读次数:88
树的直径
定义 我们将一棵树T = ( V,E )的直径定义为maxδ ( u,v ) ( u,v ∈ V ),也就是说,树中所有最短路径距离的最大值即为树的直径。 寻找方法 两次bfs 方法:先从任意一点P出发,找离它最远的点Q,再从点Q出发,找离它最远的点W,W到Q的距离就是是的直径 证明如下: ①若P已 ...
分类:其他好文   时间:2020-06-20 16:43:04    阅读次数:81
树的直径
两次$DFS$ \(O(n)\) 第一次随机从一个点出发,寻找距离当前点,最远的一个叶子节点,命名为$rt$ 然后从 \(rt\) 出发,寻找距离$rt$ 最远的一个叶子节点,这段距离就是树的直径 #include <bits/stdc++.h> using namespace std; const ...
分类:其他好文   时间:2020-06-18 23:22:42    阅读次数:95
435条   1 2 3 4 ... 44 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!