Park Visit
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2321 Accepted Submission(s): 1029
Problem Description
Claire and her ...
分类:
其他好文 时间:
2014-08-10 13:01:00
阅读次数:
294
题目链接:点击打开链接
题意:
给定n个点 m条无向边的图 k个询问
无重边、自环、环
定义 2个点属于一个国家:当这两个点连通时
操作1 x:输出x所在的国家内的最长路长度
操作2 x y:若x y属于一个国家 则忽略
若不属于一个国家,则在2个集合间连一条边,使得连完后最长路最短
连2个集合的最长路一定是 找2个集合最长路的中点进行连接
则连接后的最长路长度为 p...
分类:
其他好文 时间:
2014-08-09 13:29:37
阅读次数:
350
树的直径树的直径(Diameter)是指树上的最长简单路。直径的求法:两遍搜索 (BFS or DFS)任选一点w为起点,对树进行搜索,找出离w最远的点u。以u为起点,再进行搜索,找出离u最远的点v。则u到v的路径长度即为树的直径。简单证明:如果w在直径上,那么u一定是直径的一个端点。反证:若u不是...
分类:
其他好文 时间:
2014-08-08 15:14:46
阅读次数:
373
题意如上,含有重边(重边的话,俩个点就可以构成了边双连通)。
先缩点成树,在求数的直径,最远的连起来,剩下边(桥)的自然最少。这里学习了树的直径求法:第一次选任意起点U,进行bfs,到达最远的一个点v(level最深)该点必然是树的直径的一个端点,,再从该点出发,bfs,到最深的一点,该点深度就是直径。(证明:先假设u,是直径上一点,S,T是直径的端点,设v!=t,则有(V,U)+(U,S)>(...
分类:
其他好文 时间:
2014-08-01 00:00:00
阅读次数:
371
题目意思:给一棵树,找到俩个不相交的通路,使得这俩个通路的长度和乘机最大;解法: 小哥一看呵呵 这不就是枚举点 然后求俩边的树的直径在相乘求个最大值的题么! 呵呵 这个N 有100000 当时就不玩了; 学长指导了下我; 俺会了!/灯泡 在枚举点在书的直径上时点的左右的最长的链无非这几...
分类:
其他好文 时间:
2014-07-30 12:07:53
阅读次数:
342
原题: ZOJ 3684http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3684题意: 给你一棵树,树的根是树的中心(到其他点的最远距离最小)。现在你要破坏所有叶子节点到根节点的连通,每条边破坏都需要一定能量。你有一个能量为p...
分类:
其他好文 时间:
2014-07-13 23:52:11
阅读次数:
367
树的直径即树中最长的路径的长度。
用两次dfs,第一次从任意点出发求得一个最远点p,
第二次从p出发求得最远点,这条路径就是最长路,即所求。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define...
分类:
其他好文 时间:
2014-07-10 19:46:15
阅读次数:
197
Bob’s Race
Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2115 Accepted Submission(s): 658
Problem Description
Bob wants to hol...
分类:
其他好文 时间:
2014-06-30 07:37:16
阅读次数:
284
题目链接:点击打开链接
题意:给定一棵树
找2条点不重复的路径,使得两路径的长度乘积最大
思路:
1、为了保证点不重复,在图中删去一条边,枚举这条删边
2、这样得到了2个树,在各自的树中找最长链,即树的直径,然后相乘即可
#include
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-06-30 07:30:01
阅读次数:
235
首先双连通缩点建立新图(顺带求原图的总的桥数,其实由于原图是一个强连通图,所以桥就等于缩点后的边)
此时得到的图类似树结构,对于新图求一次直径,也就是最长链。
我们新建的边就一定是连接这条最长链的首尾,这样就将原图的桥减少了直径个。
#include
#include
#include
#include
#include
#include
using namespace std;
#...
分类:
其他好文 时间:
2014-06-28 07:18:36
阅读次数:
278