
图论
Minion_w
这个作者很懒,什么都没留下…
展开
-
最短路径
求任意两点间的最短路径Flord-Warshall算法: 适用范围: 求解任意两点间的最短路径, 可以处理边是负值的情况,判断图中是否存在负圈。只需判断是否存在d[i][i]是负数的顶点i就可以了 复杂度: O(|V^3|) Code: int d[maxn][maxn];//d[i][i] = 0; 其余初始化为INF int V; void warshall_floyd() {原创 2017-09-19 23:49:22 · 376 阅读 · 0 评论 -
最小生成树之Prim 和 Kruskal算法
struct Edge { int u, v, w; }; struct Edge edge[10010]; int f[2010]; bool cmp(Edge e1, Edge e2) { if(e1.w < e2.w) return true; else return false; } int getf(int v) { i原创 2017-10-09 11:37:32 · 266 阅读 · 0 评论 -
Prim算法求最小生成树
Code: Prim算法求最小生成树 #include using namespace std; const int maxn = 1000; int m, n; int cost[maxn][maxn]; int dis[maxn]; int visited[maxn]; int prim() { /* 算法流程: 1.从任意一个顶点开始构造生成树,假设从1号顶点开始。首先将顶点1加入到生成原创 2017-11-20 17:45:25 · 626 阅读 · 0 评论 -
Poj 1274 The Perfect Stall(二分图匹配)
题目链接 题目大意:输入N、M,N代表有N只奶牛,M代表有M个吃饭的地方 然后输入N行,每行第一个数字代表后面输入几个数字,后面的数字是牛喜欢吃饭的地方的编号(每个吃饭的地方只能让一个牛吃) 然后让你求出来,能在喜欢的地方吃饭的牛的最大数目 Code: /* 纠结点:怎么把吃饭的地方和奶牛编号对应起来原创 2018-01-03 00:36:30 · 305 阅读 · 0 评论