Graph & Trees3 - 二分图
$$二分图略解$$
$$By;TYQ$$
二分图定义:
\(f(i,L) = [a \in L\;\text{&}\;\forall b \in a.to \;\text{,}\; b \not\in L]\)
\(\{G(V,E)|\forall a \in V , f(i,LD) | f(i,RD)\}\)
其实就是两个集合 , 有连边的点不在同一个集合内
判定显然染色 , 未染色未0 , 黑1白2 , 不能给以染色节点染色 , 大法师即可
口胡代码:
void dfs(int now , int color){
if(v[now]!=0){flg = false ;return ;} //引发冲突
else{
for(int i = head[now] ; i ; i = Next[i]){
dfs(ver[i] , 3-color) ; //遍历所有出边并染色
}
}
}
//还有 , 要注意图的连通性 , 或许下次我出题会拿这个坑人
二分图最大匹配 :
匈牙利算法 , 待补qwq