双连通缩点+求树的直径,图论基础题目。 1 /* 4612 */ 2 #pragma comment(linker, "/STACK:1024000000,1024000000") 3 #include 4 #include 5 #include 6 #include 7 #i...
分类:
其他好文 时间:
2015-03-20 23:26:12
阅读次数:
203
大致题意:在某个点派出两个点去遍历所有的边,花费为边的权值,求最少的花费
思路:这题关键好在这个模型和最长路模型之间的转换,可以转换得到,所有边遍历了两遍的总花费减去最长路的花费就是本题的答案,要思考,而且答案和派出时的起点无关
求最长路两遍dfs或bfs即可,从任意点bfs一遍找到最长路的一个终点,再从这个终点bfs找到起点
//1032K 79MS C++ 1455B
#include...
分类:
其他好文 时间:
2015-03-15 12:30:59
阅读次数:
152
题意:N个点构成一棵树。树枝的长度都是1。在当中找两条不相交【没有公共点】的路,使得二者长度之积最大。(2?≤?n?≤?200)思路:一开始思路好麻烦,好麻烦,好麻烦,,,,,,,而且WA,,,,,正解:必定存在第三条路径连接两条最长路径。【因为是一棵树】。去掉第三条路径上的某根树枝就可以将原树分成...
分类:
其他好文 时间:
2015-03-06 22:11:33
阅读次数:
168
两遍BFS。从任意一个点出发,第一遍可以找到直径的一端,从这端出发即可找到另外一端。证明:从U点出发,到达V【画个图便清晰了】1.如果U在直径上,则V一定是直径的一个端点。2.如果U不在直径上。U,V线一定和直径有交点(如果没有交点,从U引一条路到直径交于U'。【反证】)。有交点则V一定是直径另一端...
分类:
其他好文 时间:
2015-03-06 22:02:45
阅读次数:
183
http://acm.hdu.edu.cn/showproblem.php?pid=4612
Problem Description
N planets are connected by M bidirectional channels that allow instant transportation. It's always possible to travel b...
分类:
其他好文 时间:
2015-03-03 18:41:28
阅读次数:
143
找树的直径的方法其实就是先任取一点进行bfs,找到最远的一点,这时最远的一点肯定是最长链端点之一,然后再从这一最远点开始bfs,这时另一个端点就找到了,长度就是bfs的深度。
这道题目看了别人的才猛然想到对啊,你照的点的最长肯定在你要找的最长的上面。开始还以为是树对树有种莫名其妙的恐惧感。。。。
Description
FF是图论高手,所以我要出图论且不出流问题。...
分类:
其他好文 时间:
2015-03-02 22:35:47
阅读次数:
155
题目大意给出一个缺若干条边的树,现在让你填一些长度为定值的边,使得整个树的直径最小。思路给一个详细的网址,讲的非常明白。
http://www.ccf.org.cn/resources/1190201776262/fujian/xuhaoran2013-07-25-03_33_55.pdf
还有数据范围是50w。CODE#define _CRT_SECURE_NO_WARNINGS#includ...
分类:
其他好文 时间:
2015-03-02 13:07:40
阅读次数:
163
问题描述
很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。
为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。
J是T国重要大臣,他巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地...
分类:
其他好文 时间:
2015-02-28 08:57:14
阅读次数:
166
首先我们要知道怎么求树的直径。
树的直径是指树的最长简单路。
求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径;
题意:给了个图,' . ' 可以走 ‘ # ’ 是墙。因为题目中规定了两点之间最多只有一条路可以走,而且必有一条路。可以见‘ . ’ 是一个树的结构。要求得距离最长的两点的距离。也就是求树的直径了。
做法: 找到节点,节点就是三面有‘ # ‘ 的 点。然后bfs 两遍求出直径就可以了。
注意:图很大,dfs 会超内存。...
分类:
其他好文 时间:
2015-02-12 12:33:23
阅读次数:
111
传送门:Warm up题意:询问如何加一条边,使得剩下的桥的数目最少,输出数目。分析:tarjan缩点后,重新建图得到一棵树,树上所有边都为桥,那么找出树的直径两个端点连上,必定减少的桥数量最多,因此ans=树的边数-树的直径。#pragma comment(linker,"/STACK:10240...
分类:
其他好文 时间:
2015-02-08 16:44:18
阅读次数:
129