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

2024信奥赛C++提高组csp-s复赛真题及题解:决斗

2024信奥赛C++提高组csp-s复赛真题及题解:决斗

题目描述

今天是小 Q 的生日,他得到了n nn张卡牌作为礼物。这些卡牌属于火爆的“决斗怪兽”,其中,第i ii张卡代表一只攻击力为r i r_iri,防御力也为r i r_iri的怪兽。

一场游戏分为若干回合。每回合,小 Q 会选择某只怪兽i ii以及另一只怪兽j ( i ≠ j ) j(i \neq j)j(i=j),并让怪兽i ii向怪兽j jj发起攻击。此时,若怪兽i ii的攻击力小于等于怪兽j jj的防御力,则无事发生;否则,怪兽j jj的防御被打破,怪兽j jj退出游戏不再参与到剩下的游戏中。一只怪兽在整场游戏中至多只能发起一次攻击。当未退出游戏的怪兽都已发起过攻击时,游戏结束。

小 Q 希望决定一组攻击顺序,使得在游戏结束时,未退出游戏的怪兽数量尽可能少。

输入格式

输入的第一行包含一个正整数n nn,表示卡牌的个数。

输入的第二行包含n nn个正整数,其中第i ii个正整数表示第i ii个怪兽的攻击力及防御力r i r_iri

输出格式

输出一行包含一个整数表示游戏结束时未退出游戏的怪兽数量的最小值。

输入输出样例 1
输入 1
5 1 2 3 1 2
输出 1
2
输入输出样例 2
输入 2
10 136 136 136 2417 136 136 2417 136 136 136
输出 2
8
说明/提示
【样例 1 解释】

其中一种最优方案为:第一回合让第2 22只怪兽向第1 11只怪兽发起攻击,第二回合让第5 55只怪兽向第4 44只怪兽发起攻击,第三回合让第3 33只怪兽向第5 55只怪兽发起攻击。此时没有退出游戏的怪兽都进行过攻击,游戏结束。可以证明没有更优的攻击顺序。

【数据范围】

对于所有测试数据,保证:1 ≤ n ≤ 10 5 1 \leq n \leq 10^51n1051 ≤ r i ≤ 10 5 1 \leq r_i \leq 10^51ri105

测试点n nnr i r_iri特殊性质
1 ∼ 4 1\sim 414≤ 10 \leq 1010≤ 10 5 \leq 10^5105无特殊性质
5 ∼ 10 5\sim 10510≤ 10 5 \leq 10^5105≤ 2 \leq 22^
11 ∼ 15 11\sim 151115≤ 30 \leq 3030≤ 10 5 \leq 10^5105特殊性质 A
16 ∼ 20 16\sim 201620≤ 10 5 \leq 10^5105^无特殊性质

特殊性质 A:保证每个r i r_iri在可能的值域中独立均匀随机生成。

思路分析

题目要求通过安排怪兽的攻击顺序,使得游戏结束时未退出游戏的怪兽数量尽可能少。经过分析,可以得出一个关键结论:最终存活的怪兽数量恰好等于所有攻击力中出现次数的最大值。这是因为在最优策略下,只有出现次数最多的那些攻击力的怪兽能够存活,其余攻击力的怪兽都可以被淘汰。

算法思路
  1. 统计每个攻击力值出现的次数。
  2. 找出出现次数的最大值。
  3. 该最大值即为最终存活怪兽的最小数量。
时间复杂度
  • 读取输入和统计出现次数:O(n)
  • 查找最大值:O(max(r i r_iri)),其中r i ≤ 10 5 r_i ≤ 10^5ri105
  • 总体复杂度为 O(n + max(r i r_iri)),在给定数据范围内完全可行。

代码实现

#include<bits/stdc++.h>usingnamespacestd;constintMAXR=100010;// r_i 的最大值intcnt[MAXR];// 统计每个攻击力出现的次数,数组下标对应攻击力值intmain(){intn;// 怪兽数量cin>>n;intmaxCnt=0;// 记录出现次数的最大值for(inti=0;i<n;i++){intr;cin>>r;cnt[r]++;// 攻击力为 r 的怪兽数量加1maxCnt=max(maxCnt,cnt[r]);// 更新最大值}// 输出结果:最终存活怪兽的最小数量等于最大出现次数cout<<maxCnt<<endl;return0;}

功能分析

  1. 输入处理:读取怪兽数量 n 和每个怪兽的攻击力 r_i。
  2. 统计频率:使用数组cnt记录每个攻击力值出现的次数。
  3. 求最大值:在统计过程中实时更新出现次数的最大值。
  4. 输出结果:最大值即为最终存活怪兽的最小数量。

算法证明

  • 贪心策略:从大到小处理攻击力值,每次尽可能用当前可用的攻击次数淘汰当前攻击力的怪兽。可用的攻击次数始终是历史出现次数的最大值。
  • 最终存活数量等于最终可用的攻击次数,即所有攻击力中出现次数的最大值。
  • 因此,直接输出最大出现次数即可得到最优解。

各种学习资料,助力大家一站式学习和提升!!!

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}

1、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html

2、csp信奥赛冲刺一等奖有效刷题题解:

CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

CSP信奥赛C++一等奖通关刷题题单及题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

3、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转


GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html

4、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}
http://www.jsqmd.com/news/324910/

相关文章:

  • 2026年热门的工业空冷器/空冷器管束厂家最新用户好评榜
  • 版权信息要保留?开源项目使用规范
  • 互联网大厂Java面试:从分布式缓存到消息队列的技术场景解析
  • GLM-Image WebUI启动故障排查:加载失败/显存不足/依赖缺失解决方案
  • 2026年比较好的高鱼粉含量鲈鱼饲料/发酵蛋白鲈鱼饲料品牌推荐榜
  • 警告!你的RAG系统正在裸奔!USENIX Security最新论文揭示90%成功率攻击手法,附防御方案
  • 2026年评价高的网带式抛丸机/通过式抛丸机用户好评厂家排行
  • 2026年质量好的热镀锌电缆桥架/定制电缆桥架TOP实力厂家推荐榜
  • 2026年知名的酸洗冷轧带钢/黑退冷轧带钢厂家实力及用户口碑排行榜
  • 2026年口碑好的涂塑支架/支架厂家最新TOP实力排行
  • 2026年口碑好的60孔催化剂/船催化剂厂家最新实力排行
  • 2026年热门的立式排污泵/耐高温排污泵最新TOP品牌厂家排行
  • 2026年知名的化工离心泵/活鱼输送离心泵厂家推荐及采购指南
  • 2026年评价高的闭式循环水冷却塔/工业冷却塔用户好评厂家排行
  • 基于SpringBoot的建筑工程项目管理系统(源码+lw+部署文档+讲解等)
  • 2026年知名的胶辊/木业胶辊实力厂家TOP推荐榜
  • 基于SpringBoot的大连市IT行业招聘平台的设计与实现(源码+lw+部署文档+讲解等)
  • 2026年评价高的中温脱硝催化剂/蜂窝式脱硝催化剂厂家最新TOP排行榜
  • GPEN能修复侧脸和遮挡人脸吗?实测结果来了
  • 基于SpringBoot的定制化设计服务平台系统(源码+lw+部署文档+讲解等)
  • FusionGraphNet-Pro:基于时空图神经网络的工业设备故障诊断(Python)
  • Clawdbot汉化版企业实操:制造业设备报修微信群AI自动分派工单
  • 2026年质量好的垃圾车/餐厨垃圾车厂家推荐及选择参考
  • GPEN保姆级教程:如何用AI修复Stable Diffusion生成的脸部扭曲
  • 基于SpringBoot+Vue莱元元电商数据分析系统(源码+lw+部署文档+讲解等)
  • 2009-2024年各省历年卫生健康统计数据
  • 基于SpringBoot的宠物领养一站式服务系统设计与实现(源码+lw+部署文档+讲解等)
  • Jimeng AI Studio开箱体验:极简界面下的强大影像生成能力
  • 零基础玩转QAnything PDF解析:从安装到实战
  • Clawdbot整合Qwen3:32B部署案例:游戏公司构建NPC对话引擎+剧情生成+玩家反馈分析Agent集群