Shoest Path
文章平均质量分 77
unixcsir
Coding Every Day~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu_1874
单源路径的最短路问题这里写了2个版本,spfa和dijkstra(没有优化) //spfa #include #include #include #include using namespace std; #define MAXN 201 #define MAXM 1001 #define INF 0x3f3f3f3f struct Edge { int v, w, next; }原创 2012-09-30 15:21:41 · 266 阅读 · 0 评论 -
hdu_2544
最短路裸题,dijkstra+邻接表水过 #include #include #include using namespace std; #define MAXN 102 #define MAXM 10001 #define INF 0x3f3f3f3f struct Edge { int v, w, next; }edge[MAXM]; int e_cnt, head[MAXN]原创 2012-09-30 15:43:13 · 245 阅读 · 0 评论 -
hdu_2066
//最短路,这里使用邻接表+spfa,图是无向的 #include #include #include #include using namespace std; #define MAXN 1001 #define MAXM 10001 #define INF 0x3f3f3f3f struct Edge{ int v, w, next; }edge原创 2012-10-09 10:22:17 · 265 阅读 · 0 评论 -
hdu_2112
//最短路,需要注意的是,终点和起点有可能相同 //这里写了2个版本spfa和dijkstra #include #include #include #include #include #include using namespace std; #define MAXN 200 #define INF 0x3f3f3f3f char hash[MAXN][MAXN];原创 2012-10-09 09:35:06 · 223 阅读 · 0 评论 -
hdu_1596
//最短路,只不过这里是乘法,和加法做法一样 //这题精度不强 #include #include #include #include using namespace std; #define MAXN 1001 #define INF 0x3f3f3f3f int in_queue[MAXN]; double dis[MAXN], each_dis[MAXN]原创 2012-10-08 21:24:43 · 232 阅读 · 0 评论 -
hdu_1217
//flody 这里的是乘,不是加 #include #include #include #include using namespace std; #define MAXN 35 #define INF 0x3f3f3f3f char name[MAXN][MAXN]; int pos, used[MAXN]; double each_dis[MAXN][MAXN]原创 2012-10-09 11:22:41 · 240 阅读 · 0 评论 -
hdu_3631_Shortest Path
//最短路问题,这里要理解flody算法的过程 //如果已经marked的点,可以当做中间结点,求出经过这个中间结点所有的最短路 #include #include #include using namespace std; #define MAXN 331 #define INF 0x3f3f3f3f int each_dis[MAXN][MAXN], marked[MA原创 2012-10-09 17:21:01 · 248 阅读 · 0 评论 -
fzu_2090_旅行社的烦恼
// 找出无向图中的最小环,这里要深入理解floyd的运行原理 // 无向图中的环需要3个结点判断 // 设k是一个环中的编号最大的元素,那么连接k的两个结点设为i,j // 那么这个环的长度为dis[i][k]+dis[k][j]+min_dis[i][j]; // 而且floyd的最外一层循环运行完之后保证了k-1之间的顶点 // 的最短路已经确定了,这里需要注意溢出的问题 #include原创 2012-10-10 16:42:04 · 572 阅读 · 0 评论 -
poj_1125_Stockbroker Grapevine
简单的folyd,题意为:给定一个有向图,要求从那个点开始,获得的最少时间,输入起始点和所需要的最少时间。 #include #include #include using namespace std; #define MAXN 101 int map[MAXN][MAXN]; void folyd(const int &n) { for(int k = 1; k原创 2012-10-25 21:33:02 · 280 阅读 · 0 评论
分享