摘要:
http://poj.org/problem?id=3767 1 #include<stdio.h> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 #include<queue> 7 #include<set> 8 #include<map> 9 #define Min(a,b) a>b?b:a 10 #define Max(a,b) a>b?a:b 11 #defin 阅读全文
摘要:
在这求第 k 短路用的是,A*+dij 所谓的A* 是一种启发式搜索,他给搜索选定一定的方向,避免了,无谓的搜索,如何来确定搜索的顺序?..也就是用一个值来表示这个值为f[x]..每次搜索取f[x]最小的拓展...那么这个f[x]=h[x]+g[x]其中这个h[x]就是当前搜索时的代价..如求K段路这个就是前一个点的h[x']+边的长度...而g[x]是一个估价函数..估价函数要小于是对当前点到目标的代价的估计..这个估计必须小于等于实际值~~否则会出错...A*的关键也就是构造g[x]..,我们的dij 算法。最短路是,就是一种 A* 搜索,其中 g[x]=0;而这里要说的求K短路一 阅读全文