GESP认证C++编程真题解析 | 202412 五级

news/2026/1/18 8:16:26/文章来源:https://www.cnblogs.com/guolianggsta/p/19497741

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


编程题

B4070 奇妙数字

【题目来源】

洛谷:B4070 [GESP202412 五级] 奇妙数字 - 洛谷

【题目描述】

小杨认为一个数字 \(x\) 是奇妙数字当且仅当 \(x=p^a\),其中 \(p\) 为任意质数且 \(a\) 为正整数。例如,\(8=2^3\),所以 \(8\) 是奇妙的,而 \(6\) 不是。

对于一个正整数 \(n\),小杨想要构建一个包含 \(m\) 个奇妙数字的集合 \(\{x_1,x_2,⋯,x_m\}\),使其满足以下条件:

  • 集合中不包含相同的数字。
  • \(x_1×x_2×⋯×x_m\)\(n\) 的因子(即 \(x_1,x_2,⋯,x_m\)\(m\) 个数字的乘积是 \(n\) 的因子)。

小杨希望集合包含的奇妙数字尽可能多,请你帮他计算出满足条件的集合最多包含多少个奇妙数字。

【输入】

第一行包含一个正整数 \(n\),含义如题面所示。

【输出】

输出一个正整数,代表满足条件的集合最多包含的奇妙数字个数。

【输入样例】

128

【输出样例】

3

【算法标签】

《洛谷 B4070 奇妙数字》 #GESP# #2024#

【代码详解】

#include <bits/stdc++.h>
using namespace std;#define int long long  // 使用长整型int n, ans;  // n: 输入的数, ans: 存储结果// 计算将一个数x表示为连续整数和所需的最少项数
int calc(int x) {int temp = 1, res = 0;  // temp: 当前项的值, res: 项数计数while (x >= temp) {x = x - temp;  // 减去当前项temp++;        // 下一项增加1res++;         // 项数增加}return res;
}signed main() {cin >> n;  // 输入要分解的数// 质因数分解for (int i = 2; i * i <= n; i++) {if (n % i == 0) {  // 找到质因数iint cnt = 0;// 计算该质因数的指数while (n % i == 0) {cnt++;n /= i;}// 将指数分解为连续整数和ans += calc(cnt);}}// 处理剩余的质因数(如果有)if (n != 1) ans++;cout << ans << endl;return 0;
}

【运行结果】

128
3

B4071 武器强化

【题目来源】

洛谷:[B4071 GESP202412 五级] 武器强化 - 洛谷

【题目描述】

小杨有 \(n\) 种武器和 \(m\) 种强化材料。第 \(i\) 种强化材料会适配第 \(p_i\) 种武器,小杨可以花费 \(c_i\) 金币将该材料对应的适配武器修改为任意武器。

小杨最喜欢第 \(1\) 种武器,因此他希望适配该武器的强化材料种类数严格大于其他的武器,请你帮小杨计算为了满足该条件最少需要花费多少金币。

【输入】

小杨有 \(n\) 种武器和 \(m\) 种强化材料。第 \(i\) 种强化材料会适配第 \(p_i\) 种武器,小杨可以花费 \(c_i\) 金币将该材料对应的适配武器修改为任意武器。

小杨最喜欢第 \(1\) 种武器,因此他希望适配该武器的强化材料种类数严格大于其他的武器,请你帮小杨计算为了满足该条件最少需要花费多少金币。

【输出】

输出一个整数,代表能够使适配第 \(1\) 种武器的强化材料种类数严格大于其他的武器最少需要花费的金币。

【输入样例】

4 4
1 1
2 1
3 1
3 2

【输出样例】

1

【算法标签】

《洛谷 B4071 武器强化》 #GESP# #2024#

【代码详解】

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1005;int n, m, p, c, ans = 1e18;
vector<int> a[N];// 计算让1号孩子获得x票的最小花费
int f(int x) {int cnt = x - a[1].size(); // 需要从其他孩子那里获取的票数vector<int> temp; // 存储可以购买的武器int res = 0; // 总花费// 处理其他孩子for (int i = 2; i <= n; i++) {if (a[i].empty()) continue;// 计算需要从这个孩子拿走多少武器int sz = max(0LL, (long long)(a[i].size() - x + 1));// 拿走最便宜的sz个武器for (int j = 0; j < sz; j++) {res += a[i][j];cnt--;}// 如果已经超过当前最优解,提前返回if (res >= ans) return ans;// 剩余的武器加入可选列表for (int j = sz; j < a[i].size(); j++) {temp.push_back(a[i][j]);}}// 如果还需要更多票,从剩余的武器中选择最便宜的if (cnt > 0) {sort(temp.begin(), temp.end());for (int i = 0; i < cnt && i < temp.size(); i++) {res += temp[i];}}return res;
}signed main() {cin >> n >> m;// 读入数据并排序for (int i = 1; i <= m; i++) {cin >> p >> c;a[p].push_back(c);}// 对每个孩子的武器按价格排序for (int i = 1; i <= n; i++) {sort(a[i].begin(), a[i].end());}// 尝试让1号孩子获得从当前票数到总票数的各种可能int min_votes = max((long long)a[1].size(), 1LL);for (int i = min_votes; i <= m; i++) {ans = min(ans, f(i));}cout << ans << endl;return 0;
}

【运行结果】

4 4
1 1
2 1
3 1
3 2
1

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

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

相关文章

3大技术突破重构网盘下载新范式:直链解析工具架构深度解析

3大技术突破重构网盘下载新范式&#xff1a;直链解析工具架构深度解析 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改&#xff08;改自6.1.4版本&#xff09; &#xff0c;自用&#xff0c;去推广&…

PvZ Toolkit 完整使用指南:轻松掌握植物大战僵尸修改技巧

PvZ Toolkit 完整使用指南&#xff1a;轻松掌握植物大战僵尸修改技巧 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 植物大战僵尸一代PC版综合修改器PvZ Toolkit是一款功能强大的游戏辅助工具&…

RexUniNLU应用解析:智能舆情监测系统开发

RexUniNLU应用解析&#xff1a;智能舆情监测系统开发 1. 引言 在当前信息爆炸的时代&#xff0c;企业、政府机构及社会组织面临着海量文本数据的处理压力。如何从新闻报道、社交媒体、用户评论等非结构化文本中快速提取关键信息&#xff0c;成为智能舆情监测的核心挑战。传统…

OrCAD电路仿真实战案例:从零实现信号完整性分析

OrCAD电路仿真实战&#xff1a;手把手教你搞定高速信号完整性你有没有遇到过这样的情况&#xff1f;板子打回来&#xff0c;上电一测&#xff0c;高速信号波形“张牙舞爪”&#xff0c;眼图闭得死死的&#xff0c;系统时而误触发、时而死机。查来查去&#xff0c;最后发现是走线…

Qwen3-4B长上下文处理实战:256K输入优化部署教程

Qwen3-4B长上下文处理实战&#xff1a;256K输入优化部署教程 随着大模型在复杂任务中的广泛应用&#xff0c;长上下文理解能力成为衡量模型实用性的重要指标。Qwen3系列推出的 Qwen3-4B-Instruct-2507 模型&#xff0c;在保持轻量级参数规模的同时&#xff0c;原生支持高达 25…

一键解锁Steam游戏:Onekey工具超详细使用指南

一键解锁Steam游戏&#xff1a;Onekey工具超详细使用指南 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 还在为Steam游戏解锁的复杂流程而头疼吗&#xff1f;Onekey这款开源工具将彻底简化你的…

从0开始学中文语义理解:BERT镜像保姆级教程

从0开始学中文语义理解&#xff1a;BERT镜像保姆级教程 你有没有遇到过这样的场景&#xff1f;一段文字看似通顺&#xff0c;却有个词“卡”在那里读不通——比如“床前明月光&#xff0c;疑是地[MASK]霜”。人类能靠上下文瞬间补全为“上”&#xff0c;那AI能不能也做到这一点…

终极游戏修改器:PvZ Toolkit完全配置指南

终极游戏修改器&#xff1a;PvZ Toolkit完全配置指南 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 游戏修改器是玩家提升游戏体验的利器&#xff0c;PvZ Toolkit作为植物大战僵尸一代的终极修改工…

GTE模型调参指南:预装Jupyter环境,1块钱起随用随停不浪费

GTE模型调参指南&#xff1a;预装Jupyter环境&#xff0c;1块钱起随用随停不浪费 你是不是也遇到过这样的情况&#xff1a;作为算法工程师&#xff0c;手头有个GTE&#xff08;General Text Embedding&#xff09;模型需要调参优化&#xff0c;但本地机器性能不够&#xff0c;…

如何实现网盘全速下载:2025年终极直链解析工具完整教程

如何实现网盘全速下载&#xff1a;2025年终极直链解析工具完整教程 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改&#xff08;改自6.1.4版本&#xff09; &#xff0c;自用&#xff0c;去推广&…

ComfyUI-AnimateDiff-Evolved终极指南:从零到动画大师的5大突破

ComfyUI-AnimateDiff-Evolved终极指南&#xff1a;从零到动画大师的5大突破 【免费下载链接】ComfyUI-AnimateDiff-Evolved Improved AnimateDiff for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-AnimateDiff-Evolved 想要在ComfyUI中制作令人惊叹的…

全球SIM卡解锁新体验:Nrfr让数字边界消失

全球SIM卡解锁新体验&#xff1a;Nrfr让数字边界消失 【免费下载链接】Nrfr &#x1f30d; 免 Root 的 SIM 卡国家码修改工具 | 解决国际漫游时的兼容性问题&#xff0c;帮助使用海外 SIM 卡获得更好的本地化体验&#xff0c;解锁运营商限制&#xff0c;突破区域限制 项目地址…

零基础教程:用Qwen_Image_Cute_Animal轻松制作儿童绘本插画

零基础教程&#xff1a;用Qwen_Image_Cute_Animal轻松制作儿童绘本插画 1. 学习目标与适用场景 本教程旨在帮助零基础用户快速掌握如何使用 Cute_Animal_For_Kids_Qwen_Image 这一专为儿童内容设计的AI图像生成镜像&#xff0c;通过ComfyUI平台实现简单、高效、高质量的可爱动…

暗黑3按键宏终极指南:5步掌握D3KeyHelper自动化操作

暗黑3按键宏终极指南&#xff1a;5步掌握D3KeyHelper自动化操作 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑破坏神3中频繁的技能按键而…

玩转Z-Image-Turbo省钱攻略:按需付费比买显卡省上万元

玩转Z-Image-Turbo省钱攻略&#xff1a;按需付费比买显卡省上万元 你是不是也是一名副业接单的设计师&#xff1f;平时靠AI绘图工具提升出图效率&#xff0c;但一周只用个两三次&#xff0c;每次也就一两个小时。市面上很多云服务动不动就是包月起步&#xff0c;动辄两三千元&…

Qwen3-4B-Instruct-2507实战:医疗健康问答机器人搭建

Qwen3-4B-Instruct-2507实战&#xff1a;医疗健康问答机器人搭建 随着大模型在垂直领域的深入应用&#xff0c;医疗健康方向的智能问答系统正逐步从概念走向落地。Qwen3-4B-Instruct-2507作为通义千问系列中面向指令理解与交互优化的轻量级模型&#xff0c;在保持较低部署成本…

Steam游戏清单获取困难?Onekey工具如何让复杂操作变得简单快捷

Steam游戏清单获取困难&#xff1f;Onekey工具如何让复杂操作变得简单快捷 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 还在为繁琐的Steam游戏清单下载流程而烦恼吗&#xff1f;Onekey作为一…

ComfyUI Essentials终极指南:图像处理必备工具集完整教程

ComfyUI Essentials终极指南&#xff1a;图像处理必备工具集完整教程 【免费下载链接】ComfyUI_essentials 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_essentials ComfyUI Essentials是一款专为数字创作者设计的全能型图像处理工具集&#xff0c;通过模块化…

网盘直链下载助手:终极高速下载解决方案

网盘直链下载助手&#xff1a;终极高速下载解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改&#xff08;改自6.1.4版本&#xff09; &#xff0c;自用&#xff0c;去推广&#xff0c;无需输…

一文说清TouchGFX开发环境搭建全过程

从零开始搭建TouchGFX开发环境&#xff1a;手把手带你跑通第一个UI界面 你是不是也遇到过这种情况&#xff1f;买了一块带屏幕的STM32开发板&#xff0c;兴致勃勃想做个炫酷的HMI界面&#xff0c;结果一查资料发现—— TouchGFX好是好&#xff0c;但环境配置太复杂了&#xff…