![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
NOTTME
这个作者很懒,什么都没留下…
展开
-
Floyd两种记录路径的方法
①void floyd(){ int i,j,k; for(i=1;i<=n;i++) for(j=1;j<=n;j++) dist[i][j]=map[i][j],path[i][j]=0; for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;原创 2014-03-26 18:12:29 · 4123 阅读 · 0 评论 -
POJ1273(最大流入门)
#include #include #include #include #include #include using namespace std;vector V[205];int vstd[205],pre[205];int c[205][205],f[205][205],cf[205][205];const int maxn=0x7fffffff;int main()原创 2015-01-16 12:44:14 · 475 阅读 · 0 评论 -
边的权重都不相同,如何证明在这个graph里面只存在一棵最小生成树
引理1:一个环的顶点集合任意划分成两个非空子集,则至少有两条边的顶点分别属于这两个子集。证明:若不然,则情况1:两个子集之间无边相连,该环不连通,矛盾;情况2:两个子集之间只有一条边相连,设为UiUj,则这条边是Ui通向Uj的唯一路径,与其在环中矛盾。 引理2:一个每条边权重不同的连通图中的任意一个环中的最长边不会存在于该图的任何一棵最小生成树中。证明:设每条边权重不同的连通图(U,V)中存转载 2014-10-14 15:18:42 · 3963 阅读 · 2 评论 -
Ural1254(SPFA)
因为距离不同所以不能用广搜。#include #include #include #include #include #include using namespace std;int n,m,k;double v;char c[76][76];int vstd[6000];double d[6000];int dirx[]={-1,-1,-1,0,1,1,1,0};原创 2014-06-28 22:27:53 · 492 阅读 · 0 评论 -
POJ3259(判断有无负权环)
SPFA找负权环若迭代次数原创 2014-05-25 10:45:44 · 777 阅读 · 0 评论 -
POJ3311(状态压缩DP+Floyd)
不知道为什么min写成#define min(x,y) (原创 2014-05-30 20:57:36 · 931 阅读 · 0 评论 -
POJ1860(Bellman-Ford思想)
#include #include #include #include #include #include #include #include using namespace std;struct edge{ int s,e; double commission; double rate;};int main(){ int n,m,s; double v原创 2014-04-05 10:26:37 · 663 阅读 · 0 评论 -
URAL1056(树的直径)
题目要求zhaodao#include #include #include #include #include #include #include #include #include #include using namespace std;int par[10005];bool vstd[10005];vector V[10005];int maxn;int原创 2014-04-18 11:39:21 · 696 阅读 · 0 评论 -
POJ1125(Floyd算法)
测试数据有点问题,题目明明写的时间是在1~10min内,但最大值设成11的时候是过不了的,而且不存在输出为disjoint的数据。#include #include using namespace std;int main(){ while (1) { int d[200][200]; int n; scanf("%d",&n); if (!n)原创 2013-10-09 12:52:57 · 530 阅读 · 0 评论 -
Sicily1424(拓扑排序)
拓扑排序。#include #include #include #include using namespace std;int main(){ int n,m; cin >> n >> m ; int i,a,b; int degree[10000]={0}; vector p[10000]; for (i=0;i<=m-1;i++) { c原创 2013-04-27 15:40:10 · 640 阅读 · 0 评论 -
HDU1874(最短路问题:Dijskra+Floyd+Bellman-Ford+SPFA)
#include #include #include const int max=1000000;int main(){ int N,M; while (scanf("%d",&N)!=EOF) { int i,j; int x,y,dis; int d[200][200]; int result[200]={0}; int record[200]={0};原创 2013-09-29 20:55:27 · 656 阅读 · 0 评论 -
最小生成树(Prim算法)
#include #include #include #include #include #include using namespace std;int main(){ const int max=100000000; int T; scanf("%d",&T); while (T--) { int n; scanf("%d",&n);原创 2013-10-02 19:52:29 · 454 阅读 · 0 评论 -
Sicily1090 && POJ2485(最小生成树)
#include #include #include #include #include #include using namespace std;int main(){ const int max=100000000; int T; scanf("%d",&T); while (T--) { int n; scanf("%d",&n);原创 2013-11-12 19:43:51 · 802 阅读 · 0 评论 -
Sicily1083(最小生成树)
#include #include #include #include #include #include using namespace std;int main(){ const int max=100000000; int T; while (1) { int n,m; scanf("%d",&n); if (!n)原创 2013-11-13 00:07:11 · 829 阅读 · 0 评论 -
POJ1094(拓扑排序)
依次读入边,每次读入之后都做一次拓扑排序,来判断是否有环或者已经确定序列。题意有些混淆人,每次读入都要判断 ①是否有环②是否已经确定序列。上述两个条件若有一个满足则立即输出,后面的边都可以不管了。比如这组测试数据:2 2AB0 0Sorted sequence determined after 1 relations: AB.在第一条边的时候已经确定了序列,原创 2013-11-16 11:00:22 · 804 阅读 · 0 评论 -
POJ1789(Prim算法)
#include #include #include using namespace std;char str[2000][8];int edge[200][200];int d[20000];int get_dis(char *str1,char *str2){ int i; int ans=0; for (i=0;i<=6;i++) if (str1[i]!=s原创 2013-11-16 13:36:10 · 851 阅读 · 0 评论 -
Ural1137(欧拉回路)
求欧拉回路。因为题目给的图一定存在欧拉回路,因此任取一个点开始DFS,当DFS到无路可走的顶点时将该顶点放入path数组,最后倒序输出。因为一定存在欧拉回路,所以无路可走的点必然是终点,并且它是上一个无路可走的点的下一个点。例如上图,从点1开始DFS,1->2->3->……->1,若不小心选择的路径是1->2->3->1,则到点1时无路可走,将1压入path数组,并回到3继续D原创 2014-03-17 16:49:28 · 709 阅读 · 0 评论 -
POJ1274(匈牙利算法)
找二分图最大匹配#include #include #include #include #include #include using namespace std;int edge[205][205];int used[205];int belong[205];int n,m;bool findpath(int x){ int i; for (i=1;i<=m;i原创 2015-01-19 21:59:11 · 549 阅读 · 0 评论