【CSP-S 2025】社团招新 题解分析

news/2025/11/4 13:40:31/文章来源:https://www.cnblogs.com/xianxi-zx/p/19186808

题目描述

小 L 是学校算法协会的成员。在今年的学校社团招新中,小 L 一共招收了 \(n\) 个新成员,其中 \(n\)偶数。现在小 L 希望将他们分到协会不同的部门。

算法协会共设有三个部门,其中第 \(i\) (\(1 \leq i \leq n\)) 个新成员对第 \(j\) (\(1 \leq j \leq 3\)) 个部门的满意度为 \(a_{i,j}\)。定义一个分配方案的满意度为所有新成员对分配到的部门的满意度之和,也就是说,若将第 \(i\) (\(1 \leq i \leq n\)) 个新成员分配到了第 \(d_i \in \{1,2,3\}\) 个部门,则该分配方案的满意度为 \(\sum_{i=1}^{n} a_{i,d_i}\)

小 L 不希望某一个部门的新成员数量过多。具体地,他要求在分配方案中,不存在一个部门被分配多于 $$ 个新成员。你需要帮助小 L 求出,满足他要求的分配方案的满意度的最大值。

输入格式

本题包含多组测试数据。

输入的第一行包含一个正整数 \(t\),表示测试数据组数。

接下来依次输入每组测试数据,对于每组测试数据:

  • 第一行包含一个正整数 \(n\),表示新成员的数量。
  • \(i+1\) (\(1 \leq i \leq n\)) 行包含三个非负整数 \(a_{i,1}, a_{i,2}, a_{i,3}\),分别表示第 \(i\) 个新成员对第 \(1,2,3\) 个部门的满意度。

输出格式

对于每组测试数据,输出一行一个非负整数,表示满足小 L 要求的分配方案的满意度的最大值。

输入输出样例 #1

输入 #1

3
4
4 2 1
3 2 4
5 3 4
3 5 1
4
0 1 0
0 1 0
0 2 0
0 2 0
2
10 9 8
4 0 0

输出 #1

18
4
13

说明/提示

【样例 1 解释】

该样例共包含三组测试数据。

对于第一组测试数据,可以将四个新成员分别分配到第 \(1,3,1,2\) 个部门,则三个部门的新成员数量分别为 \(2,1,1\),均不超过 \(\frac{4}{2} = 2\),满意度为 \(4 + 4 + 5 + 5 = 18\)

对于第二组测试数据,可以将四个新成员分别分配到第 \(1,1,2,2\) 个部门,则三个部门的新成员数量分别为 \(2,2,0\),均不超过 \(\frac{4}{2} = 2\),满意度为 \(0 + 0 + 2 + 2 = 4\)

对于第三组测试数据,可以将两个新成员分别分配到第 \(2,1\) 个部门,则三个部门的新成员数量分别为 \(1,1,0\),均不超过 \(\frac{2}{2} = 1\),满意度为 \(9 + 4 = 13\)

【样例 2】

见选手目录下的 \(\textbf{\textit{club/club2.in}}\)\(\textbf{\textit{club/club2.ans}}\)

该样例满足测试点 \(3,4\) 的约束条件。

【样例 3】

见选手目录下的 \(\textbf{\textit{club/club3.in}}\)\(\textbf{\textit{club/club3.ans}}\)

该样例满足测试点 \(5 \sim 8\) 的约束条件。

【样例 4】

见选手目录下的 \(\textbf{\textit{club/club4.in}}\)\(\textbf{\textit{club/club4.ans}}\)

该样例满足测试点 \(9\) 的约束条件。

【样例 5】

见选手目录下的 \(\textbf{\textit{club/club5.in}}\)\(\textbf{\textit{club/club5.ans}}\)

该样例满足测试点 \(15,16\) 的约束条件。

【数据范围】

对于所有测试数据,保证:

  • \(1 \leq t \leq 5\);
  • \(2 \leq n \leq 10^5\),且 \(n\) 为偶数;
  • 对于所有 \(1 \leq i \leq n\)\(1 \leq j \leq 3\),均有 \(0 \leq a_{i,j} \leq 2 \times 10^4\)
测试点编号 \(n=\) 特殊性质
\(1\) \(2\)
\(2\) \(4\)
\(3, 4\) \(10\)
\(5 \sim 8\) \(30\)
\(9\) \(200\) B
\(10, 11\) \(10^5\)
\(12\) \(10^5\) A
\(13, 14\) \(10^5\) B
\(15, 16\) \(10^5\) C
\(17 \sim 20\) \(10^5\)

特殊性质 A:对于所有 \(1 \leq i \leq n\),均有 \(a_{i,2} = a_{i,3} = 0\)

特殊性质 B:对于所有 \(1 \leq i \leq n\),均有 \(a_{i,3} = 0\)

特殊性质 C:对于所有 \(1 \leq i \leq n\)\(1 \leq j \leq 3\)\(a_{i,j}\) 均在 \([0, 2 \times 10^4]\) 中独立均匀随机生成。

思路

第一眼以为是DP,狂推状态转移方程后才发现是贪心。

我们不妨假设,如果小L没有提出每个部门不超过\(\frac{n}{2}\)人的要求的话,那么是不是就是每个人选他个人满意度最高的那一个部门即可。

那么我们也同样的,先按这个计算出理论最大值,再考虑下一步的计算。

同时,我们不难发现,如果有一个部门人数大于\(\frac{n}{2}\)的话,那么有且仅有这个部门大于\(\frac{n}{2}\)人。(类似的分析可参考Luogu P5664[CSP-S2019]Emiya家今天的饭)

又根据某人类智慧定理:如果人多了,那么就要踢人了。

那么踢什么样的人,将Ta踢到哪,就成了我们的问题。

理论最大值情况下,每个人都是选自己满意度最高的部门,那么无论如何踢人,答案一定小于理论最大值,所以我们希望在满足要求的情况下,答案的下降值尽量小。

那不就是把一部分人从Ta最满意的部门踢到次满意的部门吗?

那踢哪一部分人呢?

自然而然就想到:肯定是踢掉最满意的部门与次满意的部门满意度之差更小的人咯!

Bingo!

那么就很好说了,如果理论最大值的情况下都没有一个部门不满足条件,那么理论最大值就是我们要的答案;

否则,令超出人数的部门为\(k\),找到所有在理论最大值情况下隶属于\(k\)部门的人,记录他们每人最满意的部门与次满意的部门满意度之差,将其排序,从小到大用理论最大值依次减去它们,直到该部门人数恰好为\(\frac{n}{2}\),即可得到答案。

有人会问:那怎么保证踢出去的人不会又形成一个部门的人数大于\(\frac{n}{2}\)的情况吗?

当然不会!

既然我们在\(k\)部门里留下了恰好\(\frac{n}{2}\)个人,那么根据抽屉原理:假设其他人都在另外的两个部门中的同一个部门,那人数最多也才\(\frac{n}{2}\)个人,也是满足条件的,因此上述问题不存在。

代码实现

思路分析完了,话不多说,上代码!

以下代码已通过Luogu民间数据测试。

#include<bits/stdc++.h>
using namespace std;
long long a[100005][4],s[100005],t[100005],n,T,len,ans,c[100005],k,cnt[4];
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>T;while(T--){len=0;ans=0;memset(cnt,0,sizeof cnt);cin>>n;for(int i=1;i<=n;++i){s[i]=1;t[i]=0;cin>>a[i][1]>>a[i][2]>>a[i][3];if(a[i][s[i]]<a[i][2])t[i]=s[i],s[i]=2;if(a[i][s[i]]<a[i][3])t[i]=s[i],s[i]=3;if(t[i]==0){if(a[i][2]>a[i][3])t[i]=2;else t[i]=3;}ans+=a[i][s[i]];cnt[s[i]]++;}if(cnt[1]<=n/2&&cnt[2]<=n/2&&cnt[3]<=n/2)cout<<ans<<endl;else{k=1;if(cnt[k]<cnt[2])k=2;if(cnt[k]<cnt[3])k=3;for(int i=1;i<=n;++i){if(s[i]==k)c[++len]=a[i][s[i]]-a[i][t[i]];}sort(c+1,c+1+len);for(int i=1;i<=cnt[k]-n/2;++i){ans-=c[i];}cout<<ans<<endl; }}return 0;
}

警钟长鸣

安全AC千万条,防止爆零第一条。

数据多测不清空,十年OI一场空。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/955612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基环树学习笔记

基环树学习笔记 往一个树上额外添加一条边,称得到的图为基环树。 基环树点数和边数相同,但是点数和边数相同的图不一定是基环树。 另外,满足以下性质的图是基环森林(当联通时是基环树):每个点有且仅有一条出边,…

【A】nice try

CF1787I Treasure Hunt 容易发现,他的限制其实是无用的。考虑 \(l\le q\le r\) 的情况,他的贡献是 \(s_r+s_q-s_l\),那么我们可以将 \(s_r,s_q\) 中的较小者调整为较大者,那么一定会满足 \(r\le q\) 的限制。 所以…

Towards All-in-One Medical Image Re-Identification

[CVPR25] 多模态医学图像检索实现隐私保护Towards All-in-One Medical Image Re-Identification MaMI:一个模型实现多模态的医学图像重识别 代码仓库 动机 所谓重识别(Re-Identification)在本文的语境中指的是:在数…

day01-Markdown学习

day01-Markdown学习小白继续坚持。Markdown学习 总结标题用 :#个数来表示字体用 :*斜体 **粗体 --画掉引用 :>+空格分割线:~~~或***图片:![名字](网址或内存地址)超链接:[内容](网址)列表:有序:1.+空…

2025年11月深圳离婚房产律师机构评测:综合实力与服务质量榜

在深圳这座快节奏的现代化都市,婚姻关系的变故往往伴随着复杂的财产分割问题,其中房产因价值高、情感因素重而成为争议焦点。选择一家专业的律师事务所来处理离婚房产纠纷,对于保障自身合法权益、降低诉讼风险至关重…

2025年11月深圳离婚房产律所综合评测:服务特色与专业能力深度对比

在深圳这座现代化大都市,随着社会经济发展和人们观念的变化,离婚案件中涉及房产分割的需求日益增多。选择一家专业的律师事务所来处理离婚房产问题,成为许多面临婚姻变故人士的重要决策。这类用户通常处于情感脆弱期…

jiangly模板-数学(数论,几何,多项式)

数学 快速幂 /** 快速幂 - 普通版* 2023-10-09: https://atcoder.jp/contests/tenka1-2017/submissions/46411797 **/ int power(int a, i64 b, int p) {int res = 1;for (; b; b /= 2, a = 1LL * a * a % p) {if…

vimrc 插件使用

ack.vim https://github.com/mileszs/ack.vim在Vim中运行你最喜欢的搜索工具,并获得增强的结果列表。 此插件旨在作为程序员搜索工具ack的Vim前端。ack可以替代99%的grep使用场景。该插件允许您在Vim中使用ack进行搜索…

Java中的委托和拉姆达(表达式/语句)

Java中的委托和拉姆达(表达式/语句)所谓委托,主要指函数声明的一种方式。通常在函数作为参数时使用。 Java中现成的委托,语法还是比较啰嗦的。可以看到,对不同个数的参数和返回值,有不同的写法。我们这里举个例子…

国债ETF收益规律发现及应用

国债ETF收益规律发现及应用利率下行的年代,国债在投资可选项中的重要性也显著提升了,本文研究国债ETF涨跌规律,以及能否利用规律提高收益。研究数据:十年期国债, 代码:511260日线数据时间范围: 2017-08 到 2025…

2025年11月宝宝起名公司选择榜:舜缘居等五强对比解析

正在打开一份“起名焦虑”档案:预产期倒计时,出生医学证明必须填名字,长辈列了五行缺金、笔画要吉、读音要亮的三页纸,网上免费打分却一个90分都没有;户口登记窗口的民警提醒“一旦录入,变更要走公证”,于是“靠…

2025广东高端网站建设公司精选榜单:知名网站建设公司聚焦专业与适配的实用之选

在数字化转型加速推进的当下,无论是初创企业还是中小微机构,搭建专属网站已成为拓展业务、链接客户的核心需求。市场上不乏规模精简却专业高效的网站建设服务商,它们凭借灵活的服务模式、精准的需求适配能力,为不同…

2025年11月自吸泵厂家评价榜:主流厂商数据解析与推荐

自吸泵是市政排水、农田灌溉、工业循环水系统的“心脏”,用户往往在“临时应急”或“项目节点”前两周才集中选型,痛点集中在“是否真自吸”“能否扛住空转”“交货期是否准时”“售后能否到场”四件事。2025年住建部…

2025年11月治疗失眠的专家推荐:市场报告与选择指南

失眠不是简单的“睡不着”,而是白天效率下滑、情绪易崩、体检指标飘红的连锁反应。很多人半夜刷手机找“快速入睡偏方”,第二天却带着更深的黑眼圈上班;也有人把希望寄托于褪黑素、香薰、白噪音,结果依旧凌晨三点数…

2025年11月自吸泵厂家推荐列表:主流企业口碑与资质全解析

引言与现状分析 在市政排涝、工厂循环、农业灌溉等场景里,自吸泵因“无需灌引水、吸程高、维护快”成为刚需。用户通常面临三大痛点:一是参数虚标,实际吸程比铭牌低一到两米;二是配件不通用,后期维护被“绑架”;…

2025年11月治疗失眠的专家推荐:市场报告与榜单全解析

凌晨两点仍盯着天花板、白天靠咖啡续命、体检报告却显示“未见明显异常”——这是当下中国3亿睡眠障碍者的共同画像。国家卫健委2024年抽样显示,18-60岁人群里,有失眠症状者占38.2%,其中仅11.7%得到规范干预。政策层…

2025年11月中国婚姻家事与财富管理律师评价榜:五强深度评测

当婚姻、继承、股权、跨境资产交织成一张越来越复杂的财富网络,高净值家庭最先想到的不是“打官司”,而是“找谁才能一次性把风险拆干净”。2025年,北京、上海、深圳三地法院公开数据显示,婚姻家事案件标的额超过一…

2025不锈钢提升机厂家选购参考:专注实用的优质厂家与选择逻辑

在工业生产的物料输送环节中,提升机作为关键设备,其性能稳定性直接影响生产效率。随着市场需求升级,兼具可靠性与适配性的提升机品牌逐渐成为行业关注焦点。结合市场调研与实际应用反馈,以下为大家梳理优质提升机厂…

2025制造业刮板输送机厂家选型参考:皮带输送机厂家供应商及选购要点解析

在工业生产的物料转运环节,输送机作为核心设备直接影响生产效率与运营成本。随着制造业智能化、定制化需求升级,选择适配的输送设备及可靠供应商成为企业关注的重点。以下结合行业观察,分享优质输送机供应商特点及实…

2025年11月中国婚姻家事与财富管理律师排名榜:五强对比指南

引言与现状分析 当婚姻、继承、股权、跨境资产交织在一起,高净值家庭最先想到的求助对象往往是“婚姻家事与财富管理律师”。2025年,中国个人可投资资产超过1000万元的家庭已突破220万户,北京、上海、深圳三地集中了…