树的直径解法小结 #by Plato
来源:互联网 发布:r330打印机清零软件 编辑:程序博客网 时间:2024/04/30 03:17
树的直径—树中的最长简单路径
方法:
1) 传统的:两遍BFS(DFS)
第一次从任意结点u出发,求出它的最远点s(这个点一定是直径的端点)
第二次从s出发,找到s的最远点t,s-t即所求。
性质一:设起点为u,第一次BFS找到的终点v一定是树的直径的一个端点
证明:http://www.cnblogs.com/wuyiqi/archive/2012/04/08/2437424.html
2) DP:用tree-dp求出所有结点到其叶子结点的最长距离f[i]和次长距离g[i],MAX{ f[i] + g[i] }即所求。
性质二:树的直径的长度一定会是某个点的最长距离f[i]与次长距离g[i]之和
3) 图论里的多源最短路求法
4) topsort里的寻找关键路径的算法
题目:POJ 1985 HDU 2196
- 树的直径解法小结 #by Plato
- POJ1985 Cow Marathon (DP/BFS 树的直径) #by Plato
- HDU 2196 Computer (tree-DP 树的最长路 经典) #by Plato
- 蓝桥杯 大臣的旅费 By Assassin 树的最大直径
- bzoj3124 [Sdoi2013]直径 树的直径
- HDU 3698 Let the light guide us (DP+线段树) #by Plato
- TELE (树形DP&背包扩展) #by Plato
- POJ 2228 Naptime (DP) #by Plato
- POJ 1692 Crossed Matchings (DP) #by Plato
- HDU 4431 Mahjong (模拟) #by Plato
- Ball Stacking (DP+很有意思) #by Plato
- URAL 1651 Shorest Subchain DP #by Plato
- 【树的直径】
- 树的直径
- 求树的直径
- 树的最长直径
- HDU4607 树的直径
- URAL1056(树的直径)
- Eclipse OSGi Services - Tutorial
- oracle中exp,imp的使用详解
- ruby和java
- hdu3221 Brute-force Algorithm矩阵快速幂&&a^b%p=a^(b%phi(p)+phi(p))%p b>=phi(p)
- 如何向nutch索引中添加自己的Field
- 树的直径解法小结 #by Plato
- Deltopia.Deltawalker.v1.9.9.2.Incl.Patch.And.Keymaker-AGAiN
- vs2010安装fixedsys字体,回到vc6的感觉
- Deltopia.Deltawalker.v1.9.9.2.x64.Incl.Patch.And.Keymaker-AGAiN
- ggplot2(二)
- hdu 4417 Super Mario(哈希表+树状树组)
- 用例图中的extend和include
- perl: symbol lookup error: /usr/lib64/perl5/auto/XML/LibXML/Common/Common.so: undefined symbol: Perl
- HOJ 1113 Stockbroker Grapevine (Floyd最短路)