[CSP-S 2025] 社团招新 / club题解

news/2025/11/3 17:38:18/文章来源:https://www.cnblogs.com/H-NF/p/19187751

题目(仅针对luogu上传的题)

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

题目背景

民间数据测试强度可能偏弱。

题目描述

小 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 不希望某一个部门的新成员数量过多。具体地,他要求在分配方案中,不存在一个部门被分配多于 \(\frac{n}{2}\) 个新成员。你需要帮助小 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\)

::cute-table{tuack}

测试点编号 \(n=\) 特殊性质
\(1\) \(2\)
\(2\) \(4\) ^
\(3, 4\) \(10\) ^
\(5 \sim 8\) \(30\) ^
\(9\) \(200\) B
\(10, 11\) ^
\(12\) \(10^5\) A
\(13, 14\) ^ B
\(15, 16\) ^ C
\(17 \sim 20\) ^

特殊性质 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,直接没了\)只好大学打ACM了,退役

\(对于这道题,可以先忽略每个部门人数不多于\dfrac{n}{2},先把每个人放进去,结果最优,但人数又有限制,所以需要操作\)
\(假设第一个部门人数已经超过了\dfrac{n}{2},此时要看是把第一个部门里多的人那个换到其他部门收益更大\)
\(设未换部门前的收益为res,如果将第i的人踢出,对收益的情况为res = res - a_{i,1} + max(a_{i,2},a_{i,3}),其他部门同理\)
\(所以可以把每个人的贡献预处理出来,对超出人数的部门进行踢人,每次取最大的贡献\)
\(代码实现:\)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5+10;
int T;
int n;
ll t[N][4];
ll res = 0;
ll Max(ll a,ll b){if(a>b) return a;else return b;
}
priority_queue<ll>q1,q2,q3;//第一,二,三个部门
void work(){memset(t,0,sizeof(t));while(!q1.empty()) q1.pop();while(!q2.empty()) q2.pop();while(!q3.empty()) q3.pop();res = 0;cin>>n;for(int i=1;i<=n;i++){cin>>t[i][1]>>t[i][2]>>t[i][3];t[i][0] = Max(t[i][1],Max(t[i][2],t[i][3]));//选着最大兴趣的部门进入if(t[i][0]==t[i][1]){q1.push(-t[i][0]+Max(t[i][2],t[i][3]));}else if(t[i][0]==t[i][2]){q2.push(-t[i][0]+Max(t[i][1],t[i][3]));}else if(t[i][0]==t[i][3]){q3.push(-t[i][0]+Max(t[i][2],t[i][1]));}res += t[i][0];}// res + (- t[i][0] + max(t[i][1],t[i][2]))if(q1.size()>n/2){//假设第一个部门人数多了(下面同理)while(q1.size()>n/2){ll t = q1.top();//每次取最大res += t;q1.pop();}}else if(q2.size()>n/2){while(q2.size()>n/2){ll t = q2.top();res += t;q2.pop();}}else if(q3.size()>n/2){while(q3.size()>n/2){ll t = q3.top();res += t;q3.pop();}}cout<<res<<"\n";
}
int main(){ios::sync_with_stdio(false);cin.tie(0);cin>>T;while(T--){work();}return 0;
}

\(Luogu上的题是过了,不知道官方是什么样的\)
\(致我那不到半年的OI生涯\)

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

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

相关文章

La Suite Docs:开源协作文档平台,可私有部署的 Notion 替代方案

法国政府开源的企业级协作文档平台,GitHub 14.3k star。基于 Django+React 开发,支持实时协作、离线编辑、AI 辅助写作,可私有部署,是 Notion 的开源替代方案。💡 从一个真实需求说起 团队想搭建知识库,Notion …

Cisco Jabber 15.1 (Andriod, iOS, macOS, Windows) - 面向企业的多合一通信工具

Cisco Jabber 15.1 (Andriod, iOS, macOS, Windows) - 面向企业的多合一通信工具Cisco Jabber 15.1 (Andriod, iOS, macOS, Windows) - 面向企业的多合一通信工具 即时消息、语音和视频通话、语音邮件、桌面共享、会议…

Shotcut 25.10 (Linux, macOS, Windows) - 免费开源视频编辑器

Shotcut 25.10 (Linux, macOS, Windows) - 免费开源视频编辑器Shotcut 25.10 (Linux, macOS, Windows) - 免费开源视频编辑器 free, open source, cross-platform video editor 请访问原文链接:https://sysin.org/blo…

Cisco Packet Tracer 9.0 新增功能简介

Cisco Packet Tracer 9.0 (macOS, Linux, Windows) - 思科网络模拟工具Cisco Packet Tracer 9.0 (macOS, Linux, Windows) - 思科网络模拟工具 Cisco network simulation tool 请访问原文链接:https://sysin.org/blog…

划分型dp

参考下面题单里面 五、划分型 DP https://leetcode.cn/discuss/post/3581838/fen-xiang-gun-ti-dan-dong-tai-gui-hua-ru-007o/

2025年青石栏杆制造厂权威推荐榜单:别墅石栏杆/石栏杆/河道石栏杆源头厂家精选

在传统建筑复兴与现代景观建设融合的背景下,青石栏杆以其古朴的质感、出色的耐久性和浓郁的文化气息,持续受到市政工程、园林景观及仿古建筑项目的青睐。 青石栏杆作为建筑领域的关键构件,兼具安全防护与艺术装饰双…

2025年高分子聚乙烯衬板生产商权威推荐榜单:高分子聚乙烯耐磨板/聚乙烯耐磨衬板/超高分子聚乙烯衬板源头厂家精选

在工业耐磨材料领域,一场由高分子聚乙烯衬板引领的技术变革正悄然发生,其耐磨性能是碳钢的7倍以上,为工业设备寿命延长提供了全新解决方案。 据塑料加工工业协会2024年度测评数据显示,中国高分子聚乙烯衬板市场规模…

2025年燃气发电机组制造商权威推荐榜单:石油管道发电机组/矿山用发电机组制造企业/加油站静音发电机设备源头厂家精选

在能源转型与低碳发展的背景下,燃气发电机组作为清洁能源利用的关键装备,其发电效率与环保性能直接关系到能源消费结构的优化进程。高性能燃气发电机组能够实现快速启停与负荷灵活调节,将综合能源利用率提升至80%以…

2025 年 11 月 DALI 控制器厂家推荐排行榜,DALI 控制器主机,DALI 照明控制系统,智能调光控制器公司精选

2025 年 11 月 DALI 控制器厂家推荐排行榜,DALI 控制器主机,DALI 照明控制系统,智能调光控制器公司精选 随着智能照明技术的快速发展,数字可寻址灯光接口(DALI)协议已成为现代照明控制系统的核心标准。DALI 控制…

【2025-11-02】连岳摘抄

23:59当我们感到悲伤,无法再忍受生活,一 棵树就会对我们说:安静,安静看着我!生活既非容易,生活亦非艰难。——黑塞我觉得,教育是件很容易的事,即使是最后一名,也能完成。教育要达成什么目的呢?一是会阅读(不…

cookie session token 区别

Cookie、Session、Token 都是用于身份验证的技术,核心区别在存储位置和用途。 Cookie:存在用户浏览器里,体积小,常存非敏感信息,比如记住登录状态。 Session:数据存在服务器,客户端只存一个 “Session ID”(多…

2025 年除尘器厂家最新推荐排行榜权威发布,深度剖析各厂家技术实力、市场口碑及适用场景热电湿电 / 钢厂湿电 / 生物质锅炉湿电 / 静电除尘器公司推荐

引言 近期,行业协会针对除尘器领域开展了年度权威测评,本次测评覆盖近百家除尘器生产企业,从技术实力、产品质量、能耗控制、服务能力及市场口碑五大维度设置 28 项细分指标,采用实地考察、设备性能检测、客户满意…

iap2 - 从枚举到打开native完整USB抓包

[{"metadata" : {"identity" : "ATS.Message.Transport","message" : {"message" : "<USB host connected>"},"source" : "--&quo…

2025年手动叠片过滤器生产厂家权威推荐榜单:全自动反冲洗叠片过滤器/离心过滤器/钢制离心过滤器设备源头厂家精选

在水处理与灌溉领域,手动叠片过滤器作为关键过滤设备,其过滤精度与耐用性直接关系到系统运行效率。优质叠片过滤器能够有效拦截50-800微米的颗粒杂质,将系统清洗周期延长2-3倍,同时将水头损失控制在0.02-0.05MPa范…

session cookie token它们三个的区

Session、Cookie、Token 均用于身份认证,核心区别在存储位置和机制: Cookie 是服务器发给客户端的轻量文本,存在浏览器,请求时自动携带,适合存会话 ID 等简单信息。 Session 数据存在服务器,通过 SessionID(常以…

弧焊机器人保护气智能节气装置

在现代工业制造体系中,弧焊作业是构建各类金属结构与产品的关键环节。随着智能制造浪潮的涌起,弧焊机器人凭借其高度的自动化、精准的焊接操作以及稳定的工作性能,广泛应用于汽车制造、航空航天、船舶工业等众多领域…

2025年压管机厂家权威推荐榜单:缩管机/锁管机/扣管机/啤喉机源头厂家精选

在液压系统与流体传动领域,压管机作为液压管路连接的关键设备,其加工精度与可靠性直接关系到整个液压系统的安全性与稳定性。高品质压管机能够实现精准扣压,将软管接头压接合格率提升至99%以上,同时将设备故障率控…

2025 年窗帘品牌最新推荐榜,聚焦品牌技术创新、产品品质与市场服务能力深度解析遮光 / 智能 / 蕾丝 / 百叶窗帘推荐

引言 随着家居软装市场需求升级,窗帘产品从单一遮光功能向个性化设计、功能性融合、智能化操控方向发展,消费者对品牌选择的专业性要求显著提升。本次推荐榜基于行业协会近一年测评数据生成,测评体系涵盖五大核心维…

纳尼?自建K8s集群日志收集还能通过JMQ保存到JES

一、背景 基于K8s集群的私有化交付方案中,日志收集采用了ilogtail+logstash+kafka+es方案,其中ilogtail负责日志收集,logstash负责对数据转换,kafka负责对日志传递中的消峰进而减少es的写入压力,es用来保存日志数…

2025 年艺术漆品牌最新推荐榜,综合实力与核心竞争力全面剖析,兼具品质与服务的优质之选艺术漆一线品牌公司推荐

引言 随着健康家居理念升级,艺术漆凭借美观与功能融合的优势成为装修热门,但市场产品质量合格率仅约 72%,行业乱象凸显。为筛选优质品牌,行业协会开展专项测评,覆盖 126 家企业,采用 “技术研发(30%)、产品性能…