专栏文章

题解:P14361 [CSP-S 2025] 社团招新 / club(民间数据)

P14361题解参与者 6已保存评论 7

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
7 条
当前快照
1 份
快照标识符
@minflics
此快照首次捕获于
2025/12/02 01:36
3 个月前
此快照最后确认于
2025/12/02 01:36
3 个月前
查看原文
直接按每个成员满意度最大值分类分部门,扔进 vector 里。因为只有其大小超过 n2\dfrac{n}{2} 才会导致不合法,所以最多只有一个部门大小超了。
对于大小超了的部门,要选某些元素换个部门,选到满意度次高的部门是最优的。显然最多只有一个部门大小超过 n2\dfrac{n}{2},所以换部门这件事不会导致某个部门大小超限。
记超限的部门大小为 ss,把超限的部门中的某个元素换个部门,会让答案减小其最大满意值与次大满意值的差。
我们要让答案最大化,也就是让要减小的满意值越小越好,所以挑选这个差值尽量小的成员让他们换部门。
按这个从大到小排序选最小的后让 n2s\lceil \dfrac{n}{2}\rceil\sim s 这些成员换部门就能做到最优。

评论

7 条评论,欢迎与作者交流。

正在加载评论...