标签:span height 其他 $0 target display lazy com lan
一般图较二分图来说,一般图内可以有偶环,也可以有奇环,任何一个无向图都可以称为一般图,这里主要说明的是一般图匹配算法。
说明:了解一般图匹配,建议先了解二分图及其匹配等知识点。可以移步二分图匹配。
在二分图中,二分图的匹配已经解决了只有偶环图的匹配,但一般图与二分图不同的是,一般图可能有奇环,那么只要解决了奇环匹配的问题就可以实现一般图的匹配,理论上来讲,一般图的匹配也能解决二分图的匹配。
带花树算法的思想是,每次在图中找到一个未匹配的点,如果能在图中找到另一个未匹配的点与它匹配,则匹配成功,与匈牙利算法很相似。带花树算法是基于图的染色来实现的,每次将一个未匹配的点染成黑色,放进队列里,然后bfs找其他点,染成白色然后找匹配点,最后保证一黑一白的点可以匹配。
类比匈牙利算法,带花树算法有两个关键的数组:
$vis[i]$ 表示 $i$ 号点染成了什么颜色,$0$ 表示未染色,$1$ 表示染成黑色,$2$ 表示染成白色。
$match[i]$ 表示 $i$ 号点的匹配点的序号。
同时带花树算法和匈牙利算法一样也有时间戳的概念,即每次给某一个未匹配的点找匹配点时会进入新的时间戳,在带花树算法中,用每次初始化 $vis$ 数组来表示进入新的时间戳,初始化为0.
标签:span height 其他 $0 target display lazy com lan
原文地址:https://www.cnblogs.com/qiyueliu/p/13363942.html