自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 最短路径spfa算法模板

#include#include#includeusing namespace std;#define INF 1000000#define N 110struct ArcNode{ int to; int weight; ArcNode *next;};queueQ;int n;ArcNode* List[N];int inq[N];int dis[N];voi

2013-08-16 16:59:27 294

原创 最短路径bellman-ford算法模板

#includeusing namespace std;#define N 110#define INF 1000000int map[N][N];int dis[N];int n;void bellman(int start){ for(int i=0;i<n;i++) dis[i]=map[start][i]; for(int k=2;k<n;k++) { for(i

2013-08-16 15:28:20 386

原创 二分图最大匹配

#include#includeusing namespace std;#define N 510int map[N][N];int state[N];int match[N];int n,m;bool dfs(int x){ for(int i=1;i<=m;i++) { if(state[i]==0&&map[x][i]==1) { state[i]=tru

2013-08-12 20:32:10 250

原创 最短路径Floyd算法模板

/*Floyd:利用三个循环扫map[i][j]中是否存在中间节点k,能使map[i][j]          这样,如果i与j存在最短路径,那么必然是i->k1->k2->......->km->j;这样中间的k的可能性在三循环中都扫了一遍。新的map[i][j]就表示i到j的最短路径了*/#include#include#includeusing namespace

2013-07-25 23:07:41 313

原创 最短路径Dijkstra算法模板

/*Dijkstra:和Prim一样思路,就是条件不再是当前最短,而是当前到start点最短,加上dis[i]=map[j][i]+dis[j]*/#includeusing namespace std;#define N 101int map[N][N];int state[N];int n;int Dijkstra(int start,int end)

2013-07-25 22:48:34 399

原创 最小生成树Prim算法模板

/*Prim:利用dis[]来记录已选点集中到各点的最短距离,一开始用起始点到各点的距离初始化dis[]while->知道全部点都走到for->找dis[]中最小边,添加长度,添加点进已选点集for->利用刚添加进来的点到各点的距离,更新dis[]*/#includeusing namespace std;#define N 28int map[N][N];

2013-07-25 17:17:52 280

原创 最小生成树Kruskal算法模板

/*利用数组fa[]来记录各个节点的父节点,初始化为自己通过sort排序,从边长最短到最长for->边长判断->如果边的两个端点的父节点不相同,可选->把选过的边的两端点中,大序号的父节点处理为小序号的父节点*/#include#includeusing namespace std;#define N 28int fa[N];struct point

2013-07-24 10:53:30 288

原创 bfs模板

#include#include#includeusing namespace std;struct point{int x,y;};int map[5][5];stackS;point father[5][5];int state[5][5];int dis[4][2]={0,1,0,-1,1,0,-1,0};bool InMap(point

2013-07-23 16:27:26 236

原创 DFS模板

void dfs(int i,int j){map[i][j]='x';if(i-1>=0&&map[i-1][j]=='.'){dfs(i-1,j);}if(i+1{dfs(i+1,j);}if(j-1>=0&&map[i][j-1]=='.'){dfs(i,j-1);}if(j+1{dfs(i,j+1);}}

2013-07-22 14:19:52 300

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除