BIT training short round #4 summary
BIT 校赛 2.5h场第四场总结
- solved 4/6, rk.1
历程
这场难度跨度有点大,疑似 ABC < D <<<...<<< EF。
直接从 D 开始说,推了一下发现一对
E 完全不会,看样例
F 那是更不会了。
赛后发现 F 比 E 简单。
部分题解
F - Dominoes
常见的套路是对原图黑白染色连二分图,由于题目说明一定存在密铺方案,所以二分图一定存在完备匹配,也就是黑白点的数量一定相等。
通过操作使二分图不存在完备匹配,简单的做法是选两个黑点或白点,设黑点有
我们枚举删除的黑点是什么,此时要求出删除一个点后的二分图,白点的必经点的数量,即所有最大匹配都必须包含的点,删除这种白点,该二分图就不存在完备匹配,就是合法的方案。
如何求必经点,扩展一下,求出黑点和白点的必经点:考虑求出任意一组最大匹配,从
为什么?以
从
复杂度为
事实上,对原图跑完最大匹配后,删除一个点,只需要从非必经点开始找一条增广路增广,就能求出新图的最大流,避免了重复网络流,复杂度
题外话
注意区分开 可行,非必经,必经 的概念,可行意味着至少存在一个匹配经过该元素,而非必经可能存在没有任何匹配经过该元素的情况。
这题要求必经点,怎么求出必经边?对残量网络进行点双缩点,一条边是必经边当且仅当:该边是这个最大匹配的匹配边且两端点
可行边不一定是必经边的补集,若边
可行点不一定等于非必经点,一个点是可行点当且仅当这个点存在一条可行边出边。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性