最短路径
文章平均质量分 75
LeeBooL
这个作者很懒,什么都没留下…
展开
-
POJ2570
题意:某条道路由一些公司修建,修建道路的公司可以提供这条路上的连通,询问哪些公司可以提供从A到B的路径.每个公司由一个小写字母表示。 思路:因为只有26个字母 所以可能用二进制去表示每个公司 1表示该路径上有该公司 比如说 1-->3 这条路径上有 abc这三个公司 则mat[1][3] 二进制表示为00..0111; 然后就是用floyd传递闭包。 #inclu原创 2014-04-15 20:05:32 · 313 阅读 · 0 评论 -
zoj 1456
#include #include #include #include #include #include #define N 1000050 #define INF 1000000001 using namespace std; int d[106][106]; int pre[106][106]; int a[106]; int main() { int i,j,k,n; while(原创 2015-01-27 13:41:36 · 396 阅读 · 0 评论 -
POJ3259
#include #include #include using namespace std; struct Edge { int a; int b; int t; }e[2500*2 + 1000]; int res[2500 + 10]; bool ballman(Edge *ed, int * res,in原创 2014-07-16 21:06:45 · 275 阅读 · 0 评论 -
POJ1680
#include #include #include #define INF -1 using namespace std; struct Edge { int a,b; double r,c; }e[300]; double res[150]; bool ballman(Edge *e, double *res, int原创 2014-07-16 21:08:01 · 387 阅读 · 0 评论 -
ZOJ2750
#include #include #include #include #define INF 1000 + 10 #define maxn 100000 using namespace std; int n; struct node { char first[5]; char last[5]; int tim原创 2014-04-27 20:20:35 · 317 阅读 · 0 评论 -
HDU2544
跟1874一样有一个大坑,ma #include #include #include #define maxn 300 #define INF 1000000 using namespace std; int map[maxn][maxn]; int n,m; void Flo( ) { for( int原创 2014-04-16 20:27:40 · 317 阅读 · 0 评论 -
HDU1874
!!!!!!同样坑了我好久的题,因为是 #include #include #include #define maxn 300 #define INF 1000000 using namespace std; int map[maxn][maxn]; int n,m; void Flo( ) { for( int原创 2014-04-16 20:14:45 · 406 阅读 · 0 评论 -
Dijkstra Floyd
最短路径—Dijkstra算法和Floyd算法 Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不转载 2014-04-15 18:04:08 · 415 阅读 · 0 评论 -
POJ1122
#include #include #include #include using namespace std; #define INF 999999999 int n,map[30][30],m; int fire,sa[30]; int path[30][30]; int ans[30]; bool cmp(int a,int b) { retu原创 2014-04-16 19:12:08 · 323 阅读 · 0 评论 -
POJ1125
#include #include #define INF 1000 #define maxn 100000 using namespace std; int map[INF][INF]; int t,maxs,mintime,a,w,n,pos; void Floyd() { for( int k = 1; k原创 2014-04-15 23:32:46 · 386 阅读 · 0 评论 -
poj 2449 (第K短路) A* + dij
#include #include #include #include #include using namespace std; #define MAXN 111111 #define INF 0x1f1f1f1f int head[MAXN], head1[MAXN], ecnt1, ecnt2; int dist[MAXN]; bool vis[MAXN];原创 2015-02-09 12:51:39 · 397 阅读 · 0 评论