码迷,mamicode.com
首页 >  
搜索关键字:树的直径    ( 435个结果
POJ 1849 Two(遍历树)
POJ 1849 Two(遍历树) http://poj.org/problem?id=1849 题意: 有一颗n个结点的带权的无向树, 在s结点放两个机器人, 这两个机器人会把树的每条边都走一遍, 但是最后机器人不要求回到出发点. 问你两个机器人走的路总长之和的最小值是多少? 分析: 首先本题只要求出树的直径, 然后用树的总长sum*2-树的直径就是所求结果. 下面一步步来说明为什么是这样的. 1.假设只有1个机器人遍历树, 且要求回到原点, 它最少需要走多少路?...
分类:其他好文   时间:2014-11-02 16:36:31    阅读次数:179
POJ 2631 Roads in the North(树的直径)
POJ 2631 Roads in the North(树的直径) http://poj.org/problem?id=2631 题意: 有一个树结构, 给你树的所有边(u,v,cost), 表示u和v两点间有一条距离为cost的边. 然后问你该树上最远的两个点的距离是多少?(即树的直径) 分析: 对于树的直径问题, <>(22 2-7)例题有说明. 具体解法: 首先从树上任意一个点a出发, (BFS)找出到这个点距离最远的点b. 然后在从b点出发(BF...
分类:其他好文   时间:2014-11-02 12:33:11    阅读次数:152
POJ 1985 Cow Marathon(树的直径)
POJ 1985 Cow Marathon(树的直径) http://poj.org/problem?id=1985 题意: 有一个树结构, 给你树的所有边(u,v,cost), 表示u和v两点间有一条距离为cost的边. 然后问你该树上最远的两个点的距离是多少?(即树的直径) 分析: 对于树的直径问题, <>(22 2-7)例题有说明. 具体解法: 首先从树上任意一个点a出发, (BFS)找出到这个点距离最远的点b. 然后在从b点出发(BFS)找到距离...
分类:其他好文   时间:2014-11-02 12:27:31    阅读次数:170
CodeForces 14 E - Camels && D - Two Paths
D - Two paths 只想到了一个o(n^2)的解法。 首先枚举删除一条边,必然得到两棵独立的树。计算两棵树的直径。保留最大乘积。 首先两条路不相交,则必然可以分到两棵子树中,因为要乘积最大,所以两条路必为两棵子树的直径。 #include #include #include #include #include #include #include #include #...
分类:其他好文   时间:2014-10-29 17:12:24    阅读次数:225
zoj 3820 Building Fire Stations (二分+树的直径)
Building Fire Stations Time Limit: 5 Seconds      Memory Limit: 131072 KB      Special Judge Marjar University is a beautiful and peaceful place. There are N buildings and N - 1 bidirection...
分类:其他好文   时间:2014-10-24 20:45:46    阅读次数:258
hiho 1050 树中的最长路 (树的直径)
最近在复习比较简单的知识,顺便当整理代码吧。 树的直径是一个经典问题,即求树上最远两点的距离。思路一: 任取一个点,求这个点的最远点的最远点,两遍bfs即可。代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #inc...
分类:其他好文   时间:2014-10-24 01:37:42    阅读次数:226
zoj3820 树的直径+二分
这题是个遗憾 !!!!!当时一直不敢相信两个站一定在直径上,赛后想想自己真的是脑袋抽风, 如果其中一个站不在直径上就反向的说明了这条不是直径。可以很明白我们可以肯定的是有一个点一定在直径上假如另外一个点不在直径上,那么他在分支上,那么可以知道直径上的某点一定大于这个分支的最远点,显然放在这个分支上是...
分类:其他好文   时间:2014-10-20 22:45:20    阅读次数:258
ZOJ 3820 Building Fire Stations 贪心+树的直径
不知道为什么是对的,但是举不出反例,比赛的时候队友提出找树的直径,不过我没敢写,真是可惜。具体做法就是先找到原树的直径,然后删去最中间的一条边,变为两个子树,分别球两颗子树的直径中点,便是答案了。#include #include #include #include #include #includ...
分类:其他好文   时间:2014-10-17 21:43:30    阅读次数:212
zoj 3820
树的直径是指树的最长简单路。求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径; 原理: 设起点为u,第一次BFS找到的终点v一定是树的直径的一个端点 证明: 1) 如果u 是直径上的点,则v显然是直径的终点(因为如果v不是的话,则...
分类:其他好文   时间:2014-10-17 00:26:23    阅读次数:235
ZOJ 3820:Building Fire Stations(树的直径 Grade C)
题意:n个点的树,边长全为1,求找出两个点,使得树上离这两个点距离最远的那个点,到这两个点(中某个点就行)的距离最小。思路:求树直径,找中点,删除中间那条边(如果直径上点数为奇数,则删任何一侧都可),分成两个子树,再求中心,即为答案。代码://14:12#include #include #incl...
分类:其他好文   时间:2014-10-15 15:45:11    阅读次数:197
435条   上一页 1 ... 38 39 40 41 42 ... 44 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!