[COCI2017-2018#5] Planinarenje

这道题目是二分图博弈的板子

介绍一下二分图博弈:

image

设两部的节点分别为x1,x2,...,xny1,y2,...,ym,先手选择了xi这个节点,则先手必胜当且仅当xi是最大匹配的必须点(也就是说少了xi的话最大匹配数会减少)

证明:

任选一个最大匹配,则xi为匹配点,先手的策略是每次都选择xi对应的匹配点y;在后手选择的时候,无论如何都不会选择到当前匹配下的非匹配的x,这是因为如果选择到了,比如说x1y1x2y2···xk,其中xk不是当前匹配下的匹配点,那么我们可以让y1匹配x2y2匹配x3,···,yk1匹配xk从而获得一个匹配数不变的匹配而且不包含xi,这与xi为必须点矛盾,所以先手必胜

如果说先手选择了非必须点xi,那么任选一个不包含xi的最大匹配,先手走到的y一定是匹配点(否则存在增广路);进一步由在当前匹配的情况下从xi出发不存在增广路可知,后手策略为每次选择当前匹配下y的匹配点x即可,所以先手必败

至于寻找必须点,洛谷题解给了几种方法;我想到了一种,先随便找出一个最大匹配,然后枚举匹配点x,设其匹配点为y,那么我们考虑是否存在非匹配点x使得yx之间有边,如果有的话就说明x不是匹配点(应该是正确的,但是还没有验证,正确性基于交错树分析吧)

posted @   最爱丁珰  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示