将他们分好队
这道题目非常好,是一道二分图染色的典型题目,记住
见这篇题解
然后说一种错误做法:求原图的SCC然后缩点讨论
比如上图,其实是不能作为一个组的,因为第二个点其实并不认识第一个点(题目没有说有传递性)
update 2024.5.30
自己重新做的时候做出来啦
首先就是记住这个二分图补图的技巧。本来最开始想的就是在原图上操作,那么每一组内部就是一个竞赛图,组与组之间无连边,这刚好与我们的二分图相反,也就是说如果以后遇到这种情况(即刚好与二分图相反),我们就可以往补图上面想
然后我们就满足了必要条件了,接下来考虑如何让人数差值最小。由于对称性,我们先随机染色第一个人,那么就可以确定一些人的分组(与第一个人是否在同一组),然后重复过程,就可以想到用DP了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构