随笔分类 -  图论--最短路 最小生成树

摘要:A - Building a Space StationCrawling in process...Crawling failedTime Limit:1000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64uSubmitStatusDescriptionYou are a member of the space station engineering team, and are assigned a task in the construction process of the station. You are expected 阅读全文
posted @ 2012-08-11 15:05 _雨 阅读(371) 评论(3) 推荐(0)
摘要:http://poj.org/problem?id=3259看了好久才知道那个虫洞 是可以把人带回去 而且时间也会回到过去 判断是否有负权回路 spfa看是否有一个点进入队列等于n次bell-fordView Code 1 #include <iostream> 2 #include<cstdio> 3 #include<string.h> 4 #include<queue> 5 #define INF 0x3f3f3f 6 using namespace std; 7 struct node 8 { 9 int u,v,t;10 }q[5000 阅读全文
posted @ 2012-08-08 14:25 _雨 阅读(222) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1125题意很难懂 一个人可以同时向多个人传递信息 找出每个人向所有人传递完信息后的最大值 再找出这些最大值中的最小值 就是结果View Code 1 #include <iostream> 2 #include<string.h> 3 #include<cstdio> 4 #define INF 0x3f3f3f 5 using namespace std; 6 int w[101][101]; 7 int main() 8 { 9 int i,j,k,n,m,t,v,w1,x;10 while(scan 阅读全文
posted @ 2012-08-08 14:21 _雨 阅读(219) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1789模板题 题意是一个字符串跟一个字符不同的字符串有多少 这个数量就相当于权值 连起来最小View Code 1 #include <iostream> 2 #include<algorithm> 3 #include<string.h> 4 #include<cstdio> 5 #define INF 0x3f3f3f3f 6 using namespace std; 7 char c[2001][10]; 8 int w[2001][2001],vis[2001],low[2001],s 阅读全文
posted @ 2012-08-06 20:04 _雨 阅读(192) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1879prime算法View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<string.h> 4 #define INF 0x3f3f3f3f 5 using namespace std; 6 int w[101][101],visit[101],low[101],sum = 0; 7 void prime(int n) 8 { 9 int i,j,k,m;10 memset(visit,0,sizeof 阅读全文
posted @ 2012-08-06 17:01 _雨 阅读(228) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2485很裸的最小生成树View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define INF 100000 4 int w[1001][501]; 5 int visit[1001],low[1001],max; 6 void prime(int n) 7 { 8 int i,j,k; 9 memset(visit,0,sizeof(visit));10 visit[1] = 1;11 for(i = 2; i <= n ; i... 阅读全文
posted @ 2012-08-03 00:15 _雨 阅读(240) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4318这题做的好二 不会邻接表ME了一晚上 学会了邻接表 TLE了一晚上 看了最短路径WA了一上午 原来样例中用的100 我就直接写的100.。。。14次换来一次AC单元最短路径http://www.cnblogs.com/zen_chou/archive/2009/05/15/1457962.htmlView Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include<q 阅读全文
posted @ 2012-08-02 10:10 _雨 阅读(203) 评论(0) 推荐(0)
摘要:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2144转自http://www.cnblogs.com/pony1993/archive/2012/07/17/2595237.html克鲁斯卡尔(Kruskal)算法(只与边相关)算法描述:克鲁斯卡尔算法需要对图的边进行访问,所以克鲁斯卡尔算法的时间复杂度只和边又关系,可以证明其时间复杂度为O(eloge)。算法过程:1.将图各边按照权值进行排序2.将图遍历一次,找出权值最小的边,(条件:此次找出的边不能和已加入最小生成树集合的边构成环),若 阅读全文
posted @ 2012-07-19 19:54 _雨 阅读(381) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2544稍微补充了下 求任意两点间的最短距离DijkstraView Code 1 #include 2 #include 3 #define INF 0x3f3f3f3f 4 int d[101],w[101][101],f[101]; 5 int Dijkstra(int st,int en,int n) 6 { 7 int i,j,min,k; 8 d[st] = 0; 9 memset(f,0,sizeof(f));10 for(i = 1 ;i =d[j])18 ... 阅读全文
posted @ 2012-07-18 20:07 _雨 阅读(285) 评论(0) 推荐(0)
摘要:从书上大体看了看思想 然后照着模板打 由于没考虑重边的问题WA一次Dijkstra算法View Code 1 #include<stdio.h> 2 #include<string.h> 3 int w[101][101]; 4 #define INF 0x3f3f3f3f 5 int main() 6 { 7 int i, j, k,n,m,d[5000],f[101],x,y,e; 8 while(scanf("%d%d", &n, &m)!=EOF) 9 {10 memset(f, 0, sizeof(f));11 memset 阅读全文
posted @ 2012-07-18 18:07 _雨 阅读(200) 评论(0) 推荐(0)