摘要: 并查集 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 5 int f[50001];//,r[30001]; 6 int m,n; 7 void Init() 8 { 9 for(int i=1;i<=m;++i) f[i]=i;10 //memset(r,0,sizeof(r));11 }12 13 int father(int k)14 {15 if(k !=f[k])16 return father(f[k]);17 return f[k];18 }... 阅读全文
posted @ 2012-04-02 13:32 AndyDHG 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 并查集 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 5 int f[30001],r[30001]; 6 int m,n; 7 void Init() 8 { 9 for(int i=0;i<m;++i) f[i]=i;10 memset(r,0,sizeof(r));11 }12 13 int father(int k)14 {15 if(k !=f[k])16 return father(f[k]);17 return f[k];18 }19 20... 阅读全文
posted @ 2012-04-02 12:58 AndyDHG 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 思路:0.从源点向每个猪圈引一条边,容量为猪圈里的猪的数量。1. 对于每个猪圈的顾客,从该猪圈向他连一条边,容量为猪圈里的猪的数量。2. 对于每个猪圈,如果不是第一个顾客,则上一个打开这个猪圈的顾客向这个顾客连一条边,容量为 +∞。3. 每个顾客到汇点连一条边,容量为各个顾客能买的数量。 1 #include<iostream> 2 #include<map> 3 #include<string> 4 #include<queue> 5 using namespace std; 6 7 int c[1101][1101]; 8 int flow[ 阅读全文
posted @ 2012-04-02 10:12 AndyDHG 阅读(217) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>#include<map>#include<string>#include<queue>using namespace std;int nReceptacle,nDevice,nType,flag,res,node;int arr[600][600];int pre[600];int flow[600][600];map<string,int> PR;void Init(){ int i,j;//u,v,w, char str1[25],str2[25]; //freopen("a.txt 阅读全文
posted @ 2012-04-02 09:02 AndyDHG 阅读(180) 评论(0) 推荐(0) 编辑