
图
木木木木子子子
这个作者很懒,什么都没留下…
展开
-
Floyd
#include <iostream>#define INF 9999999using namespace std;int main(){ int e[51][51],s,t,d,n,m;//n个城市,m条路 cin>>n>>m; for(int i=1;i<=50;i++) { for(int ...原创 2018-03-10 13:08:59 · 223 阅读 · 0 评论 -
Bellman-Ford
什么是负环如果存在一个环(从某个点出发又回到自己的路径),而且这个环上所有权值之和是负数,那这就是一个负权环,也叫负权回路存在负权回路的图是不能求两点间最短路的,因为只要在负权回路上不断兜圈子,所得的最短路长度可以任意小。bellman-Ford核心 for(k=1; k<=n-1; k++) //有n个顶点,只需要进行n-1轮即可,因为对于含有n个顶点的图,任意两点之间最短路径最多包含n-...转载 2018-04-19 21:29:58 · 114 阅读 · 0 评论 -
poj 3687-Labeling Balls 逆序拓扑排序
https://blog.youkuaiyun.com/u013486414/article/details/42616073原创 2018-04-30 20:53:33 · 162 阅读 · 0 评论 -
Kuhn-Munkres算法模板(二分图最大权匹配)
讲解https://blog.youkuaiyun.com/thundermrbird/article/details/52231639代码https://blog.youkuaiyun.com/pi9nc/article/details/12250247int n;int weight[MAX][MAX];int boy[MAX];bool sx[MAX],sy[MAX];bool max_match(int ...转载 2018-04-30 18:17:25 · 352 阅读 · 0 评论 -
poj3463 Sightseeing dijkstra 寻找最短路的数量和次短路数量
在dijkstra上改进1.寻找最短路数量 首先说一个能够记录最短路路径的方法 1. 如果边可以松驰就用adj【to】=from,把一个点的前一个节点记录下来,下一次松弛的时候会被覆盖掉,最终覆盖掉的就是最短路上的前一个节点 2. 用dfs找回路径 void findway(int s){ if(s==-1) return ; else ...转载 2018-04-15 14:13:11 · 180 阅读 · 0 评论 -
spfa
//spfa算法模板(邻接矩阵)://c++ code:void spfa(int s){ for(int i=0; i<=n; i++) dis[i]=99999999; //初始化每点i到s的距离 dis[s]=0; vis[s]=1; q[1]=s; 队列初始化,s为起点 int i, v, head=0, tail=1; while (head<tail){ ...转载 2018-04-27 22:02:01 · 736 阅读 · 0 评论 -
poj3169 layout
#include <iostream>#include <cstring>#include <queue>#include <cstdlib>#include <stdio.h>#define MAX 15000#define INF 9999999using namespace std;class Edge{publi...原创 2018-03-29 21:14:48 · 124 阅读 · 0 评论 -
poj3020 Antenna Placement 二分图最大匹配,最小覆盖点
转自http://blog.youkuaiyun.com/qq_33362864/article/details/52101883#include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <queue> #include...转载 2018-03-12 19:41:04 · 150 阅读 · 0 评论 -
hdu1083Courses 二分匹配
直接模板#include <iostream>#include <cstring>#include <queue>#include <vector>#include <map>#include <cstdio>#include <stdio.h>#include <algorithm&a原创 2018-03-11 21:08:04 · 139 阅读 · 0 评论 -
匹配 边覆盖 独立集 顶点覆盖
自己的理解:匹配 :两条边没有公共顶点 的边的集合最小边覆盖:取n条边 这n条边的顶点是图的全部顶点 且n最小最大独立集:两两顶点互相之间不相连 这些定点个数的最大值最小顶点覆盖:n个顶点和 从这些顶点出发能够连的顶点 是图的全部顶点 且 n最小...原创 2018-03-17 15:35:28 · 429 阅读 · 0 评论 -
hdu1102 prim 最小生成树
#include <iostream>#include <cstring>#include <queue>#include <cstdlib>#include <stdio.h>#define MAX 15000#define INF 9999999using namespace std;int n,sum=0;bool...原创 2018-03-10 14:10:12 · 156 阅读 · 0 评论 -
Dijkstra 最短路
#include <iostream>#define INF 9999999using namespace std;int main(){ int e[51][51],book[50],dis[50],s,t,d,n,m;//n个城市,m条路 cin>>n>>m; for(int i=1;i<=50;i++) {...原创 2018-03-10 13:17:19 · 329 阅读 · 0 评论 -
模板题 Truck History poj1789
#include <iostream>#include <string>#include <cstring>#define INF 9999999using namespace std;int n,sum;string s[2005];short book[2001];int low[2001];int e[2001][2001];void ...原创 2018-04-20 16:59:30 · 127 阅读 · 0 评论