原文:求树的直径(两种方法)

两次dfs 方法:先从任意一点P出发,找离它最远的点Q,再从点Q出发,找离它最远的点W,W到Q的距离就是是的直径 证明如下: 若P已经在直径上,根据树的直径的定义可知Q也在直径上且为直径的一个端点 若P不在直径上,我们用反证法,假设此时WQ不是直径,AB是直径 gt 若AB与PQ有交点C,由于P到Q最远,那么PC CQ gt PC CA,所以CQ gt CA,易得CQ CB gt CA CB,即 ...

2019-07-24 13:53 0 2985 推荐指数:

查看详情

next数组的两种方法

法一解释:转自http://www.cnblogs.com/yjiyjige/p/3263858.html 关键运算步骤 i 0 1 2 3 4 5 6 7 8 9 A B ...

Fri Aug 17 05:20:00 CST 2018 0 1055
直径算法

直径算法 标签: 图论——直径 阅读体验:https://zybuluo.com/Junlier/note/1251025 直径 直径是树上的最长路 求法:2遍\(Dfs(Bfs)\) 没错,真的这么简单...... 先随便找个点i开始\(Dfs ...

Thu Aug 16 01:36:00 CST 2018 0 1335
除法模中逆元的两种方法

正整数解叫做a模m的逆元。   然后就是逆元的两种方法。   第一种方法就是比较普遍的,也是挺基础的 ...

Sun Jul 29 01:29:00 CST 2018 0 3501
树形dp - 直径

随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好。   现在已经勘探确定了n个位 ...

Wed Jun 13 21:04:00 CST 2018 2 1003
Hive中交集和差集的两种方法

Hive中交集和差集的两种方法: -------------------------------------------------------------------------------------------------------------- 引用 ...

Tue Feb 23 19:29:00 CST 2021 0 1013
最大公约数的两种方法

辗转相除法(欧几里得算法) 欧几里德算法又称辗转相除法,是指用于计算个正整数a,b的最大公约数。 时间复杂度为\(O(logN)\)。 举例 比如:30和42的最大公约数: \(30 \mod 42 = 30\) \(42 \mod 30 = 12\) \(30 \mod 12 ...

Sun May 10 02:49:00 CST 2020 0 598
Python中1到20平方的两种方法

关于lambda的用法,可以参考我的博客:深入理解Lambda函数及其用法 关于map的用法,可以参考我的博客:map函数用法详解 ...

Wed Dec 13 07:31:00 CST 2017 0 2795
直径方法总结

定义: 求法: 算法 1 : 树形 DP 具体代码: 算法 2 : 次 DFS 或者 次 BFS 看上面这个图: 如果按照 DFS 或者 BFS 我们第一次 找到的最远距离的节点是 2 , 然后从 2 出发 到达的最远距离的节点是 1 ,所以得到的 ...

Tue Jan 28 01:27:00 CST 2020 0 1175
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM