概述
一道很友好有趣的例题loj
第一次见识到这个东西,觉得非常巧妙
一 张 二 分 图 , 左 边 的 叫 白 点 , 右 边 的 叫 黑 点 一张二分图,左边的叫白点,右边的叫黑点 一张二分图,左边的叫白点,右边的叫黑点
先 手 先 从 白 点 中 选 一 点 , 然 后 后 手 必 须 选 与 之 配 对 的 黑 点 先手先从白点中选一点,然后后手必须选与之配对的黑点 先手先从白点中选一点,然后后手必须选与之配对的黑点
以 此 往 复 , 谁 先 不 能 选 点 谁 就 输 了 以此往复,谁先不能选点谁就输了 以此往复,谁先不能选点谁就输了
首 先 我 们 先 使 用 网 络 流 求 一 遍 二 分 图 最 大 匹 配 首先我们先使用网络流求一遍二分图最大匹配 首先我们先使用网络流求一遍二分图最大匹配
结 论 Ⅰ : 若 先 手 走 的 第 一 步 可 能 不 在 最 大 匹 配 中 , 先 手 必 胜 color{Red}结论Ⅰ:若先手走的第一步可能不在最大匹配中,先手必胜 结论Ⅰ:若先手走的第一步可能不在最大匹配中,先手必胜
为 了 和 先 手 走 的 白 点 对 应 , 后 手 走 的 黑 点 一 定 在 最 大 匹 配 为了和先手走的白点对应,后手走的黑点一定在最大匹配 为了和先手走的白点对应,后手走的黑点一定在最大匹配
原 因 : 若 不 在 最 大 匹 配 , 就 形 成 了 新 匹 配 , 不 满 足 最 大 匹 配 原因:若不在最大匹配,就形成了新匹配,不满足最大匹配 原因:若不在最大匹配,就形成了新匹配,不满足最大匹配
接 下 来 每 一 步 , 先 手 只 需 要 选 与 后 手 相 匹 配 的 白 点 即 可 接下来每一步,先手只需要选与后手相匹配的白点即可 接下来每一步,先手只需要选与后手相匹配的白点即可
那 么 后 手 被 动 的 选 最 大 匹 配 中 的 黑 点 那么后手被动的选最大匹配中的黑点 那么后手被动的选最大匹配中的黑点
由 于 后 手 先 走 最 大 匹 配 中 的 点 , 所 以 最 后 一 定 是 后 手 先 无 路 可 走 , 先 手 胜 由于后手先走最大匹配中的点,所以最后一定是后手先无路可走,先手胜 由于后手先走最大匹配中的点,所以最后一定是后手先无路可走,先手胜
你可能有疑问,为什么后手不能走非最大匹配中的黑点来和白点匹配呢?
原 因 在 于 , 如 果 有 非 最 大 匹 配 的 黑 点 来 匹 配 那 个 白 点 就 矛 盾 了 原因在于,如果有非最大匹配的黑点来匹配那个白点就矛盾了 原因在于,如果有非最大匹配的黑点来匹配那个白点就矛盾了
因 为 形 成 了 一 条 新 的 增 广 路 , 最 大 匹 配 更 多 了 因为形成了一条新的增广路,最大匹配更多了 因为形成了一条新的增广路,最大匹配更多了
回 想 一 下 匈 牙 利 算 法 d f s 找 妹 子 腾 空 间 的 找 增 广 路 流 程 回想一下匈牙利算法dfs找妹子腾空间的找增广路流程 回想一下匈牙利算法dfs找妹子腾空间的找增广路流程
如 果 这 里 找 到 没 有 和 白 点 配 对 的 黑 点 如果这里找到没有和白点配对的黑点 如果这里找到没有和白点配对的黑点
那 么 就 为 最 开 始 那 个 先 手 选 的 没 有 在 最 大 匹 配 中 的 白 点 找 到 了 位 置 那么就为最开始那个先手选的没有在最大匹配中的白点找到了位置 那么就为最开始那个先手选的没有在最大匹配中的白点找到了位置
证 毕 color{Red}证毕 证毕
结 论 Ⅱ : 若 最 开 始 先 手 走 的 点 在 所 有 的 最 大 匹 配 中 都 存 在 , 必 输 color{Red}结论Ⅱ:若最开始先手走的点在所有的最大匹配中都存在,必输 结论Ⅱ:若最开始先手走的点在所有的最大匹配中都存在,必输
这 个 很 简 单 , 相 当 于 结 论 Ⅰ 的 逆 否 命 题 这个很简单,相当于结论Ⅰ的逆否命题 这个很简单,相当于结论Ⅰ的逆否命题
问题来了,如何判断这个点一定在所有的最大匹配中
法 一 : color{orange}法一: 法一:
把 这 个 点 和 相 邻 的 边 从 图 中 删 掉 , 再 次 求 最 大 匹 配 , 若 匹 配 数 减 少 一 定 在 把这个点和相邻的边从图中删掉,再次求最大匹配,若匹配数减少一定在 把这个点和相邻的边从图中删掉,再次求最大匹配,若匹配数减少一定在
但是这个做法不是那么的优秀,考虑优化
法 二 : color{Green}法二: 法二:
在 所 有 的 最 大 匹 配 中 都 出 现 过 在所有的最大匹配中都出现过 在所有的最大匹配中都出现过
也 就 是 所 有 的 最 大 流 s 到 这 个 点 的 边 都 有 流 量 也就是所有的最大流s到这个点的边都有流量 也就是所有的最大流s到这个点的边都有流量
相 当 于 在 某 个 最 大 流 方 案 中 , s 到 这 个 点 的 边 有 流 量 , 且 残 量 网 络 不 存 在 s 到 i 的 路 径 相当于在某个最大流方案中,s到这个点的边有流量,且残量网络不存在s到i的路径 相当于在某个最大流方案中,s到这个点的边有流量,且残量网络不存在s到i的路径
那 么 求 最 大 流 的 最 后 一 次 b f s 中 ( 无 增 广 路 , 必 定 到 不 了 t ) , s 能 到 的 点 都 会 被 标 记 起 来 那么求最大流的最后一次bfs中(无增广路,必定到不了t),s能到的点都会被标记起来 那么求最大流的最后一次bfs中(无增广路,必定到不了t),s能到的点都会被标记起来
判 断 下 即 可 判断下即可 判断下即可
也 就 是 满 足 d [ i ] . f l o w = = 0 & & d i s [ v ] = = 0 也就是满足d[i].flow==0&&dis[v]==0 也就是满足d[i].flow==0&&dis[v]==0
最后
以上就是鲜艳口红为你收集整理的二分图博弈(通俗感性证明)的全部内容,希望文章能够帮你解决二分图博弈(通俗感性证明)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复