Codeforces Round 810 (Div. 2)
1|0基本情况
A题秒了,B、C题死活看不懂题目。
2|0B. Party
2|1错误分析
为啥看不懂题目,一方面是英语水平确实不够,另一方面就是图的意识不行,如果能看出来这题隐含的建图思想,就很有助于理解题目。
2|2正确思路
题意
有
转化
对于朋友关系及每个人,我们考虑建一个
那么,问题就转换为了:
给出一个包含
方法
我们分类讨论一下。
-
为偶数,则不需要删边或点,直接输出 即可。 -
为奇数,以下分三种情况讨论。-
删一个点。显然,我们只能选择一个度为奇数的点。
-
删两个点。以下再分六种情况来讨论。
虽然能够保证删除后边为偶数个,但只删除其中的奇点
所获的不快乐值一定会更小,那么舍去这种情况。- 对于上述三种情况下,若两点间有无边的条件相反的情况下,则删除后对边数的改变都是减少偶数条。如下图中删
, 或 , 或 , 号点,对边数变化为偶数无用,所以也舍去这三种情况。
- 对于上述三种情况下,若两点间有无边的条件相反的情况下,则删除后对边数的改变都是减少偶数条。如下图中删
-
删大于等于三个点。显然不会更优,也舍去(可以替换成只删一个或两个点的形式,不快乐值会更低)。
若要删除
, , 号顶点,我们可以替换为只删除 号点,也能使图中的边数边为偶数,且不快乐值更低。
若要删除 , , , 号顶点,我们可以转化为只删除其中的任意一个奇点。- 而若要删除更多的点,我们只需要替换为只删一个或两个点就行。
-
代码
我们发现不用把图建出来,记录每个点的度数即可。
__EOF__

本文链接:https://www.cnblogs.com/kdlyh/p/17898968.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下