随笔分类 -  图论

摘要:#include<iostream>#include <cstdio>#include <string.h>using namespace std;int n,m;int c[201][201];int maxflow(int s,int t){ int p,q,queue[201],u,v,pre[201]; int flow,aug; flow=0; while(true) { memset(pre,-1,sizeof(pre)); for(queue[p=q=0]=s;p<=q;p++) { u... 阅读全文
posted @ 2012-04-10 08:24 shijiwomen 阅读(221) 评论(0) 推荐(0)
摘要:#include <iostream>#include <string.h>using namespace std; #include <queue>#define min(x,y) (x<y?x:y)const int inf = 1000000000;const int maxn = 210;int cap[maxn][maxn];int n,m;int s,t;int flow[maxn][maxn],d[maxn],parent[maxn],maxflow; void Edmonds_Karp(int s,int t,int nnum){ ma 阅读全文
posted @ 2012-04-10 08:18 shijiwomen 阅读(193) 评论(0) 推荐(0)
摘要:我再网上摘的#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;#define N 300int m;int Visited[N];int Prev[N];int G[N][N];unsigned EKmin(){ deque<int> q; memset(Visited,0,sizeof(Visited)); memset(Prev,0,sizeof(Prev)); Prev[1]=0; Visited[1 阅读全文
posted @ 2012-04-09 20:41 shijiwomen 阅读(543) 评论(0) 推荐(0)
摘要:我纠结了四天的网络流,看疯了各种网络流的基础课件,各种参考书,看的是云里雾里最后还是做题一点不懂,最后一个模板解决问题,神啊这里体现了模板的强大力量#include <stdio.h>#include <string.h>const int maxn=150000;const int maxm=200000;const int inf=1<<30;struct edge{ int from,to,val,next;}map[maxn];int vis[maxn],que[maxn],dist[maxn],len;void init(){ len=0; mem 阅读全文
posted @ 2012-04-09 19:50 shijiwomen 阅读(303) 评论(0) 推荐(0)
摘要:注意问题的转换,有环,无序,有序,还有他们的包含分界点其中将字母装换成数字节点很妙#include <stdio.h>#include <string.h>int map[27][27],indegree[27],q[27];int n,m;int topsort(){ int i,num,flag,j,start; int temp[27],c; c=0; flag=1; for(i=1;i<=n;i++) temp[i]=indegree[i]; for(i=1;i<=n;i++) { num=0; for(j=1;j<=n;j++) { if(t 阅读全文
posted @ 2012-04-06 10:11 shijiwomen 阅读(187) 评论(0) 推荐(0)
摘要:就是不断选择最小的 不断更新最短距离,本题要注重问题的转换4aaaaaaabaaaaaaabaaaaaaabaaaa0#include <stdio.h>#define MAX 2005int vis[MAX];int distans[MAX];char str[MAX][7];int n;int sum,min;int dist(char *str1,char *str2){ int d,i; for(i=0,d=0;i<7;i++) { if(str1[i]!=str2[i]) d++; } return d;}int prim(){ int i,v,j; sum=0; 阅读全文
posted @ 2012-04-06 09:25 shijiwomen 阅读(147) 评论(0) 推荐(0)
摘要:#include <stdio.h>#include <string.h>#define MAX 1001const int INF= 0x7f7f7f7f;int t,s,d,tt[MAX][MAX],ss[MAX],dd[MAX],path[MAX],maxs;int min(int n,int m){ return n>m?m:n;}void init(){ int i; memset(path,INF,sizeof(path)); memset(tt,INF,sizeof(tt)); for(i=0;i<MAX;i++) { ss[i]... 阅读全文
posted @ 2012-03-31 11:46 shijiwomen 阅读(237) 评论(0) 推荐(0)
摘要:大概理解了一下别人的代码#include "iostream"#include "cstdio"#include "cmath"#include "algorithm"using namespace std;const double PI=acos(-1.0);const int size=1005;const double eps=1e-8;struct Point{ int x, y;}p[size];int s[size], top;int zfcmp(int d){ if(abs(d) < eps) 阅读全文
posted @ 2012-03-29 21:42 shijiwomen 阅读(209) 评论(0) 推荐(0)
摘要:代码不能粘贴复制,只有充分理解之后自己亲手敲的才是真正理解了,即使是参考他人的也有收获理解了tarjian算法让自己对算法有了好感,感觉算法真的好强,解决看起来不能解决的问题,那是一种超越#include <iostream>#include <cstdio>#include <vector>#include <stack>#include <algorithm>using namespace std;#define MAXVER 10010vector<int> g[MAXVER];stack<int> st 阅读全文
posted @ 2012-03-29 16:09 shijiwomen 阅读(363) 评论(0) 推荐(0)