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

贪心 [CSP-S 2025] 社团招新

[CSP-S 2025] 社团招新

CSP/NOIP 正在 ACM 化. 前几年 T1 送分往往都是写个模拟即可, 但现在变成考思维题了.

显然我们不妨先不管 \(\dfrac{n}{2}\) 的限制, 一股脑直接去把人扔到对应的社团里, 在从人数最多的社团里把多余的人给换到其它社团.
因为我们的限制是 \(\dfrac{n}{2}\), 所以当一个社团人达到 \(\dfarc{n}{2}\) 时, 另外两个社团人数分别均不超过 \(\dfrac{n}{2}\), 显然可行. 下一个问题就是将哪些人给换走.
显然换走人会产生使满意度下降, 我们的目的是要让满意度下降最少, 即最大值减去次大值要尽可能的小. 优先把这种人换到其它社团.

代码:

#include<iostream>
#include<algorithm>
#include<vector>
#define P(A) A=-~A
#define NUMBER1 100000
typedef long long LL;
struct Satify{int a[3],rank_place[3],max,mid,min;inline void inint(){int res=0;res=max=min=a[0],rank_place[0]=rank_place[2]=rank_place[1]=0;for(int j=1;j<3;P(j)){if(a[j]>max)max=a[j],rank_place[0]=j;else if(a[j]<min)min=a[j],rank_place[2]=j;res+=a[j];}rank_place[1]=3-rank_place[0]-rank_place[2],mid=res-max-min;}bool operator<(const Satify &A)const{return max-mid<A.max-A.mid;}
}student[NUMBER1+5];
int cnt[3],ans;
inline void solve(){ans=cnt[0]=cnt[1]=cnt[2]=0;int n,half_n,need_remove(0);std::cin>>n;half_n=n>>1;for(int i=1;i<=n;P(i)){for(int j=0;j<3;P(j))std::cin>>student[i].a[j];student[i].inint();}for(int i=1;i<=n;P(i))P(cnt[student[i].rank_place[0]]),ans+=student[i].a[student[i].rank_place[0]];for(int j=0;j<3;P(j))if(cnt[j]>half_n){need_remove=j;break;}std::sort(student+1,student+1+n);for(int i=1;i<=n&&cnt[need_remove]>half_n;P(i)){if(student[i].rank_place[0]^need_remove)continue;--cnt[need_remove],ans=ans-student[i].a[need_remove]+student[i].a[student[i].rank_place[1]],P(cnt[student[i].rank_place[1]]);}std::cout<<ans<<'\n';
}
signed main(){std::cin.tie(nullptr)->std::ios::sync_with_stdio(false);std::cout.tie(nullptr);int T;std::cin>>T;while(T--)solve();return 0;
}
http://www.rkmt.cn/news/76127.html

相关文章:

  • 12月7日总结 - 作业----
  • pdf图片处理
  • 2025年大众帕萨特更换轮胎推荐:玲珑、米其林、马牌哪个是全面优选?
  • 《场景化落地:用 Linux 共享内存解决进程间高效数据传输障碍(终篇)》
  • Python 潮流周刊#130:Django 6.0 发布了
  • zebra zt610
  • 基于深度学习的苹果病害检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • 代码随想录Day30_贪心4
  • 一种 DAG 上可达性判定问题的解决方案
  • 网络空间威慑:通过“曝光”手段反制国家级网络间谍活动
  • Gemini 2.5原生音频技术与多模态能力解析
  • 12 月记录
  • 嵌入式软件架构--多窗口表明1(后台软件实现)
  • 定制化 Live555 实战:按需开发低耗 RTSP 服务器,完美适配 C# 项目 - 源之缘
  • Day13-20251207
  • 一些复数的有趣的恒等式
  • C# 与 .NET 跨平台制作实战(第一章:开发环境搭建与.NET概述-上篇)
  • 2025东莞力利机械压铸设备实力榜:六家国产技术代表企业,热室与冷室压铸机核心优势深度解析
  • Maven 多模块项目与 Spring Boot 结合指南 - 教程
  • 洛谷 P1271:选举学生会 ← 计数排序
  • 2025吹塑制品厂家实力榜:东莞石排盛林塑胶厂以精密中空吹塑领跑,六大高潜力本土品牌核心优势深度解析
  • 使用Kali进行DOS攻击
  • 【OS zephyr】子系统logging - 教程
  • 2025东莞宝晨研磨自动化机械有限公司实力榜:干湿两用溜光机与磁力研磨抛光机核心技术深度解析,六家高潜力本土品牌优势对比
  • 2025酒店拖鞋机厂家实力榜:东莞昆仑智能以高效智能技术领跑,六家优质本土品牌生产线深度解析
  • 2025东莞永安科技锡膏厂家实力榜:激光焊接与Mini LED固晶等八大创新品类领跑,高导热金锡合金技术深度解析
  • 小白必看:零花销开启微调模型之旅
  • 2025.12.7博客
  • 002.简易对拍器
  • 2025东莞精密模具厂家实力榜:宏良塑胶电子以高精度注塑技术领跑,六家本土技术代表企业核心优势深度解析