二分图边染色摘抄&KM复习_专题_LCA
JueFan 一只绝帆

xlpg0713 二分图边染色 摘抄

原文

二分图边染色

板子:[CF600F] Edge coloring of bipartite graph

给定一张二分图,你需要把边染色,使得颜色数尽量少。

复杂度 nmnm

首先可以证明答案是 maxdeg\max \deg,我们给出一个构造性证明(算法流程):

顺序确定每条边的颜色,设当前枚举到 (u,v)(u,v),找到 mex Su,mex Sv\text{mex } S_u,\text{mex }S_v,记作 au,ava_u,a_v

au=ava_u=a_v,则直接染色为 aua_u

否则,不妨钦定 au<ava_u<a_v,我们从 vv 那边找一个 au,ava_u,a_v 交替出现的极长增广路,然后反转颜色,这一定不会连到 uu,即使 uu 练出了 ava_v

不妨假设 uu 是左部点,那么一个左部点被找上必然有 aua_u 从右边连过来,所以不会被连到。

做完这个过程后将该边染色为 aua_u

由于每次连的边的颜色都 [0,degu)\in[0,\deg u),所以这个过程是对的。

KM 复习

 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
总字数 231.7k 访客数 访问量