当前位置: 首页 > news >正文

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

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

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

题目链接

本人博客

前言

恩对,笔者在考场上思来想去,一共实现了 \(3\) 种代码,但无一例外,均未调出来。怒得 \(25\) pts遗憾退场。

思路

首先需要让每个人选自己最喜欢的社团(贪心),这无疑是最优的。但是有可能不合法。

那我们考虑不合法应该怎么办。

\(3\) 个部门人数为 \(a,b,c\)(其中 \(a \geq b \geq c\))。如果不合法当且仅当 \(a > \frac{n}{2}\)\(b,c < \frac{n}{2}\)。证明如下。

| 由题意可知 \(a + b + c = n\)。若 \(a > \frac{n}{2}\),则为 \(n-(b+c) > \frac{n}{2}\),即 \(b+c < \frac{n}{2}\)

因此只需要考虑其中一个部门不合法的情况。(笔者就是这个证明考场上脑子不好使,没想到)

于是只需要预处理每个人从他最喜欢的部门到他次喜欢的部门的满意度差。答案把多出来的人的差减去即可。

笔者这里用的是优先队列维护,时间复杂度 \(O(n \log n)\)

代码如下

#include<cstdio>
#include<iostream> 
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
#define int long long 
inline int Read(){int x=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=x*10+c-48;c=getchar();}return x*f;
}
inline void Write(int x){if(x<0){x=-x;putchar('-');}if(x>9) Write(x/10);putchar(x%10+'0');
}
const int N=1e5+10;
int T,n,ans;
int a[10]; 
priority_queue<int> q1,q2,q3;
//三个队列用来维护每个部门的人数和每个人次大与最大之间的差
//注意默认为大根堆
int Max_3(int a,int b,int c){return max(max(a,b),c);}//最大值
void solve(){ans=0;while(!q1.empty()) q1.pop();while(!q2.empty()) q2.pop();while(!q3.empty()) q3.pop();//多测清空!n=Read();for(int i=1;i<=n;i++){//边输入边处理for(int j=1;j<=3;j++){a[j]=Read();} int t=Max_3(a[1],a[2],a[3]);if(a[1]==t){ans+=a[1];q1.push(max(a[2]-a[1],a[3]-a[1]));//因为默认大根堆,而我们最后贪心出队的应该是差最小的,所以可以存复数,出队的时候直接加  }else if(a[2]==t){ans+=a[2];q2.push(max(a[1]-a[2],a[3]-a[2]));  }else if(a[3]==t){ans+=a[3];q3.push(max(a[1]-a[3],a[2]-a[3]));}}while(q1.size()>n/2){ans+=q1.top();q1.pop();}while(q2.size()>n/2){ans+=q2.top();q2.pop();}while(q3.size()>n/2){ans+=q3.top();q3.pop();}	printf("%lld\n",ans);
}
signed main(){T=Read();while(T--){solve();//多测函数好}return 0; 
}
http://www.jsqmd.com/news/30164/

相关文章:

  • 2025 年最新推荐纸护角生产厂家口碑排行榜:聚焦高性价比与强定制能力企业加硬/蜂窝纸护角/纸护角防撞条/护边条/边缘板/纸板/包角公司推荐
  • 2025年母线加工机实力厂家权威推荐榜单:铜排加工机/母排加工机/数控母线加工机设备源头厂家精选
  • GitHub小众宝藏扫街(自留)
  • 第二篇阅读笔记
  • 2025 年丝绸品牌推荐榜权威发布:革乐帛领衔五大优质品牌,东方美学与工艺创新双标杆
  • Adobe Bridge 2026 一键安装教程 + 功能亮点汇总(Win/Mac双平台)
  • 2025 年油罐厂家最新推荐排行榜:sf 双层 / 加油站 / 化工 / 不锈钢 / 地埋 / 卧式 / 立式油罐优质品牌全解析
  • csp2025 邮寄 根根又号号
  • 2025年智能交互平板生产商权威推荐榜单:会议白板一体机/平板电视/触屏电视源头厂家精选
  • 根根又号号
  • 136号文后,新能源增量项目机制电价形成及竞价流程
  • 清理docker磁盘使用空间
  • 2025年常温起皱风格水洗机供货商权威推荐榜单:棉麻起皱风格水洗机/棉起皱风格水洗机/麻起皱风格水洗机源头厂家精选
  • 。第二次作业
  • 2025年镀锌钢格板制造企业权威推荐榜单:平台钢格板/齿形钢格板/插接钢格板实力厂家精选
  • 【新品上市】华清远见AIoT实战平台-STM32F103ESP32-S3 AI开发板套件,玩转小智AI桌宠机器狗智能车等项目
  • Elasticsearch-head 安装
  • 2025 年钢板厂家最新推荐:优质企业榜单发布,覆盖中厚 / 镀锌 / 冷轧 / 高强度等类型,附协会权威测评与选择建议
  • 微信小程序办公用品领用管理系统:小微企业高效管理新选择
  • Unresolved reference ksp
  • CF1167F Scalar Queries
  • 2025 年 11 月商标注册服务商权威推荐榜:覆盖江苏商标注册,靖江商标注册,常州商标注册,镇江商标注册,丹阳商标注册的专业机构精选
  • 2025 年 11 月 DALI 调光系统厂家推荐排行榜,调光网关,调光开关,调光电源,调光驱动,调光传感器,调光模块,调光控制系统公司推荐
  • 2025年11月反应釜供厂家推荐榜:行业领先解决方案与排名分析
  • 2025 年连接器厂家最新推荐榜:实力制造商全面盘点,附中国电子元件行业协会权威测评数据与选型指南
  • PS 进化了!2026 版让“所想即所见”成为现实
  • 校管家小程序系统:教育培训行业的线上运营利器
  • AWS |ssh连接
  • 国产化Word处理控件Spire.Doc教程:如何使用 Java 将 TXT 文本转换为 Excel 表格
  • SMTP协议是什么意思?SMTP端口的作用?