2012年8月9日

POJ_3255_次短路问题

摘要: 题目大意:Bessie在农场里过上了安逸的日子。她现在每天都去找她的一个好朋友去扯一下POJ上面的题怎么做,Pascal和C到底更好用等问题。可是她不愿意走最短路,因为她想欣赏沿途的风景什么的。现在给出农场数N和道路数R,在后面的R行中给出起点和终点以及道路长度。请帮助Bessie算出来次短路的长度。所谓次短路,就是指严格比最短路(可能不止一条)短,但是不长于其他任何路径的路径。数据中一定存在至少一条次短路。本人在POJ上做过次小生成树的问题。当时的解决思路是把最小生成树里面的边逐个去掉,而计算现在的最小生成树。证明很简单,在此略去。可是现在解决次短路问题也采用这样的思路就会非常麻烦。SPFA 阅读全文

posted @ 2012-08-09 16:48 我的ACM之路 阅读(1469) 评论(0) 推荐(1) 编辑

HDU_2112_HDU Today

摘要: HDU TodayTime Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6832 Accepted Submission(s): 1650 Problem Description经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,开始安度晚年了。 这样住了一段时间,徐总对当地的 阅读全文

posted @ 2012-08-09 15:02 我的ACM之路 阅读(152) 评论(0) 推荐(0) 编辑

基于邻接矩阵的Dijstra算法-输出路径

摘要: //基于邻接矩阵的Dijstra算法-输出路径 1 #include<stdio.h> 2 #include<string.h> 3 #include<stack> 4 #include<iostream> 5 using namespace std; 6 7 int n,m; 8 int map[1009][1009]; 9 int path[1009];10 int dis[1009];11 bool used[1009];12 const int maxint=999999999;13 14 void dijk()15 {16 memset 阅读全文

posted @ 2012-08-09 10:07 我的ACM之路 阅读(405) 评论(0) 推荐(0) 编辑

最短路径—基于邻接矩阵的的Dijstra算法模板(不输出路径)

摘要: 1 #include<stdio.h> 2 #define MAX 0x3fffffff 3 int map[105][105],dis[105]; 4 bool use[105]; 5 int n,m; 6 7 void dijk(int start) 8 { 9 int min,rj,i,j;10 for(j=1;j<=n;j++)11 {12 dis[j]=map[1][j];13 use[j]=0;14 }15 use[1]=1;16 for(i=1;i<n;i++)17 {18 ... 阅读全文

posted @ 2012-08-09 10:05 我的ACM之路 阅读(332) 评论(0) 推荐(0) 编辑

最短路

摘要: 主要三种算法:1、FLOYD:个人比较喜欢使用,不但可以快速计算计算多源最短路,也可以判断图的连通性。时间复杂度是(顶点^3)2、DIJK:从点的角度计算单源最短路比较方便吧,可以用邻接表优化(没用过,呵呵)。时间复杂度(顶点^2(朴素),顶点*log(顶点))3、SPFA+静态邻接表+队列储存:是从边的角度计算单源最短路,比较牛逼的算法,因为时间复杂度比较小(边*k),其中K是常数,注意用前两种算法时,因为这两种算法是从顶点思考,所以要小心重边的情况(有时题目没说明但自己要小心),每次读取边取小即可,用SPFA就没关系了网上说K~2,不过实际使用时K估计接近10,因为每个顶点差不多连10条左 阅读全文

posted @ 2012-08-09 10:02 我的ACM之路 阅读(260) 评论(1) 推荐(0) 编辑

导航