
图论
文章平均质量分 77
xymscau
这个作者很懒,什么都没留下…
展开
-
欧拉回路,poj 1041
//欧拉回路,poj 1041//已连通;求欧拉回路;#include#include#include#include#includeusing namespace std;stacks;int vd[2000],into[50],gp[50][2000],n;int euler原创 2011-07-12 21:59:14 · 511 阅读 · 0 评论 -
poj1251-prim最小生成树(dij改写)
刚刚看完dij感觉和prim差不多,dij是松弛边,而prim是贪心,改写关键在于松弛这一步的改变,写的时候发现了区别,最短路只需对边的操作,且是单源的,一开始simple都错了,我就在想why后来发现,最小生成树prim必需是任意点出发都能构成这样一棵树,就是读入是边是dij的原创 2011-07-12 21:58:20 · 619 阅读 · 0 评论 -
poj 2075=最小生成树Kruskal算法
题意很好理解,但是应该注意映射,应该从1开始,因为不存在时返回0,边就要从1开始找,就这样wa了两次。#include#include#include#include#include#include#define N 5000using namespace std;int p[N原创 2011-07-12 22:01:30 · 515 阅读 · 0 评论 -
最小生成树Kruskal算法,poj 2075
题意很好理解,但是应该注意映射,应该从1开始,因为不存在时返回0,边就要从1开始找,就这样wa了两次。 #include #include #include #include #include #include #define N 5000 using namespace st原创 2011-05-27 21:01:00 · 714 阅读 · 0 评论 -
hdu 1811
这题很考验代码能力,小弟不才,写了200+行还是wa,后来看人家的代码,vector的用法,今天学习了,写下报告记录下vector的用法,解法很简单,把集合缩成一个点,然后拓扑排序,集合用的是并查集。 Run ID Submit Time Judge Status Pro.ID Exe.Time Exe.Memory Code Len. Language Auth原创 2012-01-08 21:31:10 · 1795 阅读 · 0 评论 -
hdu 2242
这题是双连通缩点,缩完点后原图会变成一棵树,这棵树的边就是割边,之后只要dfs一遍这颗树,取最小值即可,这题有个陷阱,就是有重边,显然如果有重边的话,这两个点可以构成双连通,我们只需标记一下是第几次走这条边即可,超过一次的话就是重边,要计算这条重边。 Run ID Submit Time Judge Status Pro.ID Exe.Time Exe.Memory原创 2012-03-06 16:29:15 · 1363 阅读 · 0 评论 -
欧拉回路,poj 1041
//欧拉回路,poj 1041 //已连通;求欧拉回路,打印的是边,邻接矩阵存的是点和边关系,题意有点让我蛋疼。。。有点含糊。。。; #include #include #include #include #include using namespace std; stack原创 2011-05-27 17:34:00 · 1608 阅读 · 3 评论