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

posted @ 2018-11-05 17:14  tyqtyq~!  阅读(127)  评论(0编辑  收藏  举报