
最短路径
文章平均质量分 75
LeeBooL
这个作者很懒,什么都没留下…
展开
-
POJ2570
题意:某条道路由一些公司修建,修建道路的公司可以提供这条路上的连通,询问哪些公司可以提供从A到B的路径.每个公司由一个小写字母表示。思路:因为只有26个字母 所以可能用二进制去表示每个公司 1表示该路径上有该公司 比如说 1-->3 这条路径上有 abc这三个公司 则mat[1][3] 二进制表示为00..0111; 然后就是用floyd传递闭包。#inclu原创 2014-04-15 20:05:32 · 347 阅读 · 0 评论 -
zoj 1456
#include#include#include#include#include#include#define N 1000050#define INF 1000000001using 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 · 432 阅读 · 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 · 306 阅读 · 0 评论 -
POJ1680
#include #include #include #define INF -1using 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 · 417 阅读 · 0 评论 -
ZOJ2750
#include #include #include #include #define INF 1000 + 10#define maxn 100000using namespace std;int n;struct node{ char first[5]; char last[5]; int tim原创 2014-04-27 20:20:35 · 350 阅读 · 0 评论 -
HDU2544
跟1874一样有一个大坑,ma#include #include #include #define maxn 300#define INF 1000000using namespace std;int map[maxn][maxn];int n,m;void Flo( ){ for( int原创 2014-04-16 20:27:40 · 356 阅读 · 0 评论 -
HDU1874
!!!!!!同样坑了我好久的题,因为是 #include #include #include #define maxn 300#define INF 1000000using namespace std;int map[maxn][maxn];int n,m;void Flo( ){ for( int原创 2014-04-16 20:14:45 · 443 阅读 · 0 评论 -
Dijkstra Floyd
最短路径—Dijkstra算法和Floyd算法Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不转载 2014-04-15 18:04:08 · 449 阅读 · 0 评论 -
POJ1122
#include#include#include#includeusing namespace std;#define INF 999999999int 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 · 356 阅读 · 0 评论 -
POJ1125
#include #include #define INF 1000#define maxn 100000using 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 · 425 阅读 · 0 评论 -
poj 2449 (第K短路) A* + dij
#include #include #include #include #include using namespace std;#define MAXN 111111#define INF 0x1f1f1f1fint head[MAXN], head1[MAXN], ecnt1, ecnt2;int dist[MAXN];bool vis[MAXN];原创 2015-02-09 12:51:39 · 424 阅读 · 0 评论