随笔分类 -  图论

摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1869解题思路:本题为简单最短路,只需要求出两两间的距离,如果存在一个两两间距离大于7的点的话则输出No如果两两间的距离都小于或等于7则输出Yes#include#define INF (1 map[i][k] + map[k][j]) map[i][j] = map[i][k] + map[k][j];}int main(){ int i,j,a,b; while(scanf("%d%d",&n,&m)!= EOF) { for(i = 0; i 7) flg 阅读全文
posted @ 2012-09-05 11:14 一生挚爱 阅读(205) 评论(0) 推荐(0)
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2962方法一:使用spfa最短路算法,二分查找最大高度。运行结果:2962140MS612K1790 BC++#include#include#includeusing namespace std;#define INF (1Q; Q.push(start); while( !Q.empty() ) { int now = Q.front(); Q.pop(); vis[now] = false; for(node *p = head[now] ; p ; p = p->next) { ... 阅读全文
posted @ 2012-09-05 08:40 一生挚爱 阅读(162) 评论(0) 推荐(0)
摘要:一个人的旅行Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10311 Accepted Submission(s): 3500Problem Description虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯 阅读全文
posted @ 2012-09-04 08:24 一生挚爱 阅读(115) 评论(0) 推荐(0)
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2680简单最短路问题。。。。。运行结果:Accepted2680265MS4164K1382 BC++//dijkstra#include#define INF (1 min + map[k][j]) dis[j] = min + map[k][j]; } }}int main(){ int i,j,start,end,cost,w; while(scanf("%d%d%d",&n,&m,&s) != EOF) { for(i = 0; i cost) m 阅读全文
posted @ 2012-09-03 16:34 一生挚爱 阅读(160) 评论(0) 推荐(0)
摘要:题目地址:http://poj.org/problem?id=1511方法一:/* 本题使用邻接表采用动态开辟的方式保存所有的边,首先定义一个保存指向的顶点和边所对应权值,*/#include#include#includeusing namespace std;#define NMAX_D 1000005#define NMAX 1000000001int n,m;//定义结构体struct node{ int v,cost; node *next;}edge[NMAX_D],redge[NMAX_D];//定义两个数组,edge用来保存顺向边,redge保存逆向边bool vis[NMAX 阅读全文
posted @ 2012-09-02 11:17 一生挚爱 阅读(131) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3371解题思路:题目要我们在已经有的一部分点相连的情况下求最小生成树。首先用并查集将所有城市分离成一个独立的点然后用已经存在的路去连接一部分点,使其构成一棵树,然后用Kruskal 算法 贪心求出最小生成树。实现代码如下:#include #include struct road { int x,y; int w; }a[25010]; int per[510]; int cmp(const void *a,const void *b) { if(((ro... 阅读全文
posted @ 2012-08-09 15:24 一生挚爱 阅读(170) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1863最小生成树kruskal算法:http://www.zhuoda.org/irini/78592.html一开始看到题目的时候就知道是求最小生成树的题目,而且可以用并查集了构建树,但是不知道怎么将并查集和求最小生成树的算法结合起来,后来看到了最小生成树Kruskal算法是用贪心求最小生成树的,每次都都取权值最小的边去构建树,如果两点的祖先结点相同,及直接连通或者间接连通的时候则不再建边否则创建边使连点直接或间接连通。实现算法如下:#include#include#include#define MA 阅读全文
posted @ 2012-08-09 09:44 一生挚爱 阅读(199) 评论(0) 推荐(0)