码迷,mamicode.com
首页 >  
搜索关键字:树的直径    ( 435个结果
hdu 4679 树的直径
1 /* 2 题目大意:给n个点n-1条边的树,求删除哪条边时两个树中最大的直径与边权的乘积最小。 3 树的直径(Diameter)是指树上的最长简单路。 4 直径的求法:两遍BFS (or DFS) 5 若删除的边不是直径上的那么花费为max_len*wi 6 若删除的边是直径上的那...
分类:其他好文   时间:2014-12-04 06:17:24    阅读次数:259
hdu 5136(dp计数)
题目链接 题意:直径为K的每个点的边数不超过3的相互不同构的树有多少种? 解法:把树的直径拉开,两边就是两棵二叉树了。子问题:一个深度为m的不同构的二叉树有多少种?dp[i]表示深度为i的个数。sum[i]表示dp的前缀和。转移方程就是:dp[i+1]=dp[i]*sum[i-1]+dp[i]+dp[i]*(dp[i]-1)/2; 然后回到原问题:如果K是偶数(想象中间有个虚...
分类:其他好文   时间:2014-12-04 01:02:45    阅读次数:175
树上某点距离最远的结点
题目链接题目需要得到树上每个结点出发可到达的最远的结点,顺便求出树的直径。这里顺便总结一下求解的两种方法。第一种思路:三种dfs(bfs) 第一遍dfs(bfs)从任意结点出发,找到距离该结点最远的结点u(直径的端点之一)。 第二遍dfs(bfs)从u出发,求出其他点到u的距离,最长的即为v(直.....
分类:其他好文   时间:2014-12-01 20:52:58    阅读次数:276
POJ 1985 Cow Marathon【树的直径】
题目大意:给你一棵树,要你求树的直径的长度思路:随便找个点bfs出最长的点,那个点一定是一条直径的起点,再从那个点BFS出最长点即可以下研究了半天才敢交,1.这题的输入格式遵照poj1984,其实就是把后面的字母无视即可 2.这题数据量没给,所以把数组开得很大才敢交TUT#include #incl...
分类:其他好文   时间:2014-11-28 15:48:41    阅读次数:163
HDOJ 2196 Computer 树的直径
由树的直径定义可得,树上任意一点到树的直径上的两个端点之一的距离是最长的... 三遍BFS求树的直径并预处理距离....... Computer Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3522    Acce...
分类:其他好文   时间:2014-11-11 21:12:20    阅读次数:206
HDU 4123 Bob’s Race 树的直径+单调队列
题意: 给定n个点的带边权树Q个询问。 下面n-1行给出树 下面Q行每行一个数字表示询问。 首先求出dp[N] :dp[i]表示i点距离树上最远点的距离 询问u, 表示求出 dp 数组中最长的连续序列使得序列中最大值-最小值 思路: 求dp数组就是求个树的直径然后dfs一下。 对于每个询问,可以用一个单调队列维护一下。O(n)的回答。 #include #includ...
分类:其他好文   时间:2014-11-09 15:18:46    阅读次数:271
HDU 4460
题意:问给定的一张图中,相距最远的两个点的距离为多少。解法:跟求树的直径差不多,从1 开始bfs,得到一个最远的点,然后再从该点bfs一遍,得到的最长距离即为答案。代码:#include #include #include #include #include #include #include #i...
分类:其他好文   时间:2014-11-08 22:05:03    阅读次数:172
hiho11周树的直径
任意找一个点做根, 然后找到距离这个根最远的点,然后以这个点做根,再找距离这个根最远的点,两个距离和就是 树的直径。#include#include#include#include#include#includeusing namespace std;typedef long long LL;#de...
分类:其他好文   时间:2014-11-04 08:05:41    阅读次数:142
树的直径 poj 2631
树的直径:从任意一点出发,BFS找到最远的距离,然后在从该点出发BFS找到最远的距离 #include #include #include #include #include #include #include #include using namespace std; const int maxn = 10008; const int inf = 0x3ffffff; stru...
分类:其他好文   时间:2014-11-03 17:51:59    阅读次数:170
hdu5044
题意:一个树上建两个加油站,使得所有点到达其最近加油站的最大距离最小。 解法:二分答案。关键时二分时候,要最合理话布局两个点的位置,做法是处理出来树的直径,然后在直径两端分别向中间移动二分的x步的两个点布下加油站。贪心可以证明正确性; 代码:/****************************************************** * @author:xiefuba...
分类:其他好文   时间:2014-11-02 18:17:30    阅读次数:206
435条   上一页 1 ... 37 38 39 40 41 ... 44 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!