给定一个带权的无向连通图,怎样选取一棵生成树,使树上全部边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1)克鲁斯卡尔算法图的存贮结构採用边集数组,且权值相等的边在数组中排列次序能够是随意的.该方法对于边相对照较多的不是非常有用,浪费时间.(2)普里姆算法图的存贮结构採用邻接矩阵.此方法是按...
分类:
其他好文 时间:
2014-06-27 13:38:32
阅读次数:
292
题目地址:http://poj.org/problem?id=2112
最近忙着预习课本备考,没怎么刷题,(我是真的有在好好看书。。)不敲题还是手痒痒,马上就邀请赛了,还是每晚睡觉前都拿来刷题吧。白天的时间足够了。
话说这题调了一晚上。。。一直以为是几天没敲状态下滑。。(虽然也没几天。。)当发现错误的时候才发现原来是少敲了个字母。。。而且我一般很少在bfs的那个地方出错,错误地方也很隐蔽。。所...
分类:
其他好文 时间:
2014-06-27 09:12:36
阅读次数:
196
本题就是以每个节点和节点之间建路,而且说明是无向图,不过这里有个技巧,就是根据题意把它当成有向图来做,就成了直接查找有向图的欧拉回路就可以了。因为题意是需要每条边都走两遍的,而且每次走的方向相反。
观察出这点,那么这道题就好做啦,直接建图,Feury递归求解就可以了。
建图注意需要建邻接表,不要建矩阵,因为建成矩阵,那么会很大很大,而根据题意,建成邻接表最多只需要5倍的顶点数。
打印的顺序是...
分类:
其他好文 时间:
2014-06-27 08:58:59
阅读次数:
187
建图很简单
bfs预处理地图,距离就为费用
源点到所有m建边,流量1费用0
m到所有H建边,流量1费用为距离
H到所有汇点建边,流量1费用0
#include
#include
#include
#include
using namespace std;
#define MAXN 10005
#define MAXM 1000000
#define INF 0x3f3f3f3
#defi...
分类:
其他好文 时间:
2014-06-26 12:16:37
阅读次数:
199
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define ll __int64
#define mod 1000000007
using namespace std;
struct node
{
int x...
分类:
其他好文 时间:
2014-06-26 11:48:43
阅读次数:
214
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define ll __int64
#define mod 1000000007
using namespace std;
struct node
{
int x...
分类:
其他好文 时间:
2014-06-26 11:39:45
阅读次数:
206