2011年4月13日
摘要: /* 最小点覆盖 == 最大二分匹配 ,mode_0 不需要记录因为初始值就是mode_0 */ 1 int find(int x) 2 { 3 for(int j=0;j<m;j++) 4 { 5 if(vis[j] || !map[x][j]) continue; 6 vis[j] = 1; 7 if(d[j]==-1 || find(d[j])) 8 { 9 d[j] = x;10 p[x] = j;11 return true;12 }13 }14 return false;15 }16 void solve()17 {18 int ans = 0;19 memset(d,-1, 阅读全文
posted @ 2011-04-13 14:12 eth0 阅读(211) 评论(0) 推荐(0) 编辑