匈牙利算法
时间复杂度:\(O(nm)\) 1
2
3
4
5
6
7
8
9
10
11
12bool dfs(int x) {
for (int e=head[x];e;e=nxt[e]) {
int v=vet[e];
if (vis[v]) continue;
vis[v]=1;
if (match[v]==-1 || dfs(match[v])) {
match[v]=x;
return true;
}
}
return false;
}1
2
3
4
5
6
7int ans=0;
memset(match,-1,sizeof(match));
for (int i=1;i<=n;i++) {
memset(vis,0,sizeof(vis));
if (dfs(i)) ans++;
}
二分图匹配模板
- 本文链接: https://ggautomaton.github.io/2018/08/algorithm/二分图匹配模板/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!