GESP认证C++编程真题解析 | 202403 八级

news/2026/1/19 17:16:25/文章来源:https://www.cnblogs.com/guolianggsta/p/19502922

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

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

适合人群:

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

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


编程题

P10263 公倍数问题

【题目来源】

洛谷:[P10263 GESP202403 八级] 公倍数问题 - 洛谷

【题目描述】

小 A 写了一个 \(N \times M\) 的矩阵 \(A\),我们看不到这个矩阵,但我们可以知道,其中第 \(i\) 行第 \(j\) 列的元素 \(A_{i,j}\)\(i\)\(j\) 的公倍数(\(i=1,\dots,N\)\(j=1,\dots,M\))。现在有 \(K\) 个小朋友,其中第 \(k\) 个小朋友想知道,矩阵 \(A\) 中最多有多少个元素可以是 \(k\)\(k=1,2,\dots,K\))。请你帮助这些小朋友求解。

注意:每位小朋友的答案互不相关,例如,有些位置既可能是 \(x\),又可能是 \(y\),则它同时可以满足 \(x,y\) 两名小朋友的要求。

方便起见,你只需要输出 \(\sum_{k=1}^{K}{k \times \texttt{ans}_k}\) 即可,其中 \(\texttt{ans}_k\) 表示第 \(k\) 名小朋友感兴趣的答案。

【输入】

第一行三个正整数 \(N,M,K\)

【输出】

输出一行,即 \(\sum_{k=1}^{K}{k \times \texttt{ans}_k}\)

请注意,这个数可能很大,使用 C++ 语言的选手请酌情使用 long long 等数据类型存储答案。

【输入样例】

2 5 2

【输出样例】

9

【算法标签】

《洛谷 P10263 公倍数问题》 #数学# #调和级数# #GESP# #2024#

【代码详解】

#include <bits/stdc++.h>
using namespace std;#define int long long  // 定义int为long long类型
int n, m, k, ans;      // n: 行数, m: 列数, k: 遍历范围, ans: 答案
int a[1000005], b[1000005];  // a: 存储1~1000000的因数个数(针对n), b: 存储1~1000000的因数个数(针对m)// 预处理函数:计算1~1000000的因数个数
// divisor[]: 存储结果的数组
// n: 实际需要计算的最大值
void count_divisor(int n, int divisor[])
{// 类似埃氏筛法计算每个数的因数个数for (int i = 1; i <= n; i++)  // i是可能的因数{// 将i的倍数都增加1,因为i是这些数的因数for (int j = i; j <= 1000000; j += i){divisor[j] += 1;  // j的因数个数加1}}
}signed main()  // 因为#define int long long,所以用signed main
{// 输入n, m, kcin >> n >> m >> k;// 预处理计算因数个数// a[i]: 表示在1~n范围内,i的因数个数// b[i]: 表示在1~m范围内,i的因数个数count_divisor(n, a);count_divisor(m, b);// 计算答案for (int i = 1; i <= k; i++)  // 遍历1到k{// 计算公式:ans = Σ(i=1 to k) [i * a[i] * b[i]]ans += i * a[i] * b[i];// 调试输出// cout << "ans " << ans << endl;}// 输出结果cout << ans << endl;return 0;
}

【运行结果】

2 5 2
9

P10264 接竹竿

【题目来源】

洛谷:[P10264 GESP202403 八级] 接竹竿 - 洛谷

【题目描述】

小杨同学想用卡牌玩一种叫做“接竹竿”的游戏。

游戏规则是:每张牌上有一个点数 \(v\),将给定的牌依次放入一列牌的末端。若放入之前这列牌中已有与这张牌点数相
同的牌,则小杨同学会将这张牌和点数相同的牌之间的所有牌全部取出队列(包括这两张牌本身)。

小杨同学现在有一个长度为 \(n\) 的卡牌序列 \(A\),其中每张牌的点数为 \(A_i\)\(1\le i\le n\))。小杨同学有 \(q\) 次询问。第 \(i\) 次(\(1\le i\le q\))询问时,小杨同学会给出 \(l_i,r_i\) 小杨同学想知道如果用下标在 \([l_i,r_i]\) 的所有卡牌按照下标顺序玩“接竹竿”的游戏,最后队列中剩余的牌数。

【输入】

一行包含一个正整数 \(T\),表示测试数据组数。

对于每组测试数据,第一行包含一个正整数 \(n\),表示卡牌序列 \(A\) 的长度。

第二行包含 \(n\) 个正整数 \(A_1,A_2,\dots,A_n\),表示卡牌的点数 \(A\)

第三行包含一个正整数 \(q\),表示询问次数。

接下来 \(q\) 行,每行两个正整数 \(l_i,r_i\) 表示一组询问。

【输出】

对于每组数据,输出 \(q\) 行。第 \(i\) 行(\(1\le i\le q\))输出一个非负整数,表示第 \(i\) 次询问的答案。

【输入样例】

1
6
1 2 2 3 1 3
4
1 3
1 6
1 5
5 6

【输出样例】

1
1
0
2

【算法标签】

《洛谷 P10264 接竹竿》 #倍增# #GESP# #2024#

【代码详解】

#include <bits/stdc++.h>
using namespace std;// 定义int为unsigned类型,因为第11号测试点需要unsigned才能通过,否则会TLE
#define int unsigned// 变量声明
unsigned t, n, q;  // t: 测试用例数, n: 牌的数量, q: 查询次数signed main()  // 由于使用了#define int unsigned,所以main函数需要改为signed
{// 读取测试用例数scanf("%d", &t);// 处理每个测试用例while (t--){int a[15] = {};       // a[x]: 记录数字x最后一次出现的位置int nxt[100005] = {};  // nxt[i]: 记录与位置i的数字相同的下一个位置,0表示没有下一个// 读取牌的数量scanf("%d", &n);// 读取牌的序列for (int i = 1; i <= n; i++){int x;scanf("%d", &x);// 建立链表:当前位置i连接到上一次出现相同数字的位置nxt[a[x]] = i;  // 将上一次出现位置a[x]的nxt指向当前位置i// 更新a[x]为当前位置ia[x] = i;}// 读取查询次数scanf("%d", &q);// 处理每个查询while (q--){int ans = 0;  // 答案:最终留下的牌的数量int st, ed;    // 查询区间[st, ed]scanf("%d%d", &st, &ed);// 遍历区间内的每个位置for (int i = st; i <= ed; i++){// 如果当前位置i没有相同数字在区间内(nxt[i]=0或在区间外)if (nxt[i] < st || nxt[i] > ed){ans++;  // 这张牌会留下来}else{// 有相同数字在区间内,跳到相同数字的下一个位置i = nxt[i];}}// 输出当前查询的答案printf("%d\n", ans);}}return 0;
}

【运行结果】

1
6
1 2 2 3 1 3
4
1 3
1
1 6
1
1 5
0
5 6
2

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

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

相关文章

铁门关双河可克达拉昆玉胡杨河新星英语雅思辅导机构推荐,2026权威出国雅思课程口碑排行榜 - 老周说教育

随着铁门关、双河、可克达拉、昆玉、胡杨河、新星六地留学需求的持续攀升,雅思成绩作为海外院校申请的核心语言凭证,成为众多学子留学路上的关键门槛。不少家长在为孩子选择雅思辅导机构时倍感困惑:六地多为兵团新兴…

springboot高校专业实习管理系统(11738)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告&#xff09;远程调试控屏包运行 三、技术介绍 Java…

基于MATLAB的仪表表盘识别程序设计与实现

一、系统架构与功能模块 本程序采用模块化设计,包含以下核心功能模块:图像预处理:灰度化、自适应二值化、形态学去噪、边缘增强 指针检测:改进Hough变换(PPHT)、直线角度计算 刻度定位:粗定位(形态学筛选)+ 精…

新手去哪找文艺风冬天的微信公众号模板? - peipei33

最近天气又开始降温了,很多做公众号的朋友开始想换换排版风格,给读者一些冬日氛围。但找来找去,发现要么模板太花哨,要么风格不统一,挺头疼的。 其实想找文艺风的冬季模板,用对方法就不难。今天分享一个挺实用的…

基于spring boot的小型诊疗预约平台的设计与开发(11739)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告&#xff09;远程调试控屏包运行 三、技术介绍 Java…

新加坡公司注册、泰国公司注册、海外odi备案代办、海外公司注册、海外投资备案odi、深圳odi备案代办、深圳境外投资备案odi选择指南 - 优质品牌商家

2026境外ODI备案代办服务推荐榜一、行业背景与推荐榜引言根据《2026中国境外投资发展白皮书》数据,2026年中国企业境外投资流量达1430亿美元,同比增长12.3%,制造业、信息技术、新能源等行业境外投资增速分别达18.7%…

阿勒泰地区英语雅思辅导机构推荐,2026权威出国雅思课程口碑排行榜 - 老周说教育

随着阿勒泰地区留学需求的持续增长,雅思成绩作为海外院校申请的核心语言凭证,成为众多学子留学路上的关键门槛。不少家长在为孩子选择雅思辅导机构时倍感困惑:核心教学资源集中于阿勒泰市核心区域,布尔津县、富蕴县…

2014-2025年城市房住不炒政策数据DID

数据简介 “房住不炒” 是 2016 年 12 月中央经济工作会议首次明确提出的房地产市场核心定位&#xff0c;其核心要义是强调房子的居住属性而非投资投机属性&#xff0c;通过综合运用金融、土地、财税、投资、立法等手段&#xff0c;建立符合国情、适应市场规律的基础性制度和长…

2001-2024年地级市互联网普及率

数据简介 互联网普及率&#xff08;Internet Penetration Rate&#xff09;是指某一特定区域内&#xff0c;使用互联网的人口占该区域总人口的百分比&#xff0c;是衡量互联网在社会中渗透程度和普及水平的关键指标&#xff0c;反映互联网基础设施覆盖、民众使用意愿与能力等多…

1_6_五段式SVPWM (传统算法反正切+DPWM2)算法理论与 MATLAB 实现详解

Simulink代码资源及原理详解 1-6-五段式SVPWM&#xff08;传统算法反正切DPWM2&#xff09;算法理论与MATLAB实现详解资源-CSDN下载https://download.csdn.net/download/m0_37724753/92569509?spm1001.2014.3001.5503 1_6_五段式SVPWM &#xff08;传统算法反正切DPWM2&…

springboot校园组团平台(11740)

项目演示视频 有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告&#xff09;远程调试控屏包运行 三、技术介绍 Java语…

pdf生成排查记录与解决方案

pdf生成排查记录与解决方案 第一次出错&#xff1a;ClassNotFound异常 错误信息 Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/client/ClientHttpRequestFactory排查步骤 1. 验证类路径是否存在 package com.tgerp…

2026年目前比较好的防爆升降机生产商哪家强,防爆升降平台/翻转平台/登车桥/装车平台/装卸平台,升降机生产厂家推荐 - 品牌推荐师

随着工业4.0进程加速及安全生产法规的日益严格,防爆升降机作为高危作业场景(如化工、油气、矿山等)的核心设备,其技术稳定性、防爆性能及全生命周期服务能力成为采购方关注的焦点。当前市场呈现“头部企业技术领跑…

1998-2025年中国县域数字基础设施水平

数字基础设施水平是一个衡量国家或地区数字化“底座”坚实程度与服务能力的综合指标。一个地区的数字基础设施水平越高&#xff0c;意味着其各类信息“高速公路”越宽、算力“引擎”越强&#xff0c;从而能更高效地支撑数字经济发展、社会治理创新及百姓的智慧生活体验&#xf…

全面讲解常见虚拟串口工具的初始化配置

虚拟串口实战指南&#xff1a;从配置到应用&#xff0c;打通嵌入式通信的“任督二脉”你有没有遇到过这样的场景&#xff1f;手头一个嵌入式设备等着调试&#xff0c;上位机软件只认COM3&#xff0c;可你的笔记本连个DB9接口都没有&#xff1b;或者两个本地程序非要通过串口通信…

当我们的系统经常遇到mfc42.dll文件找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

大寒:冬之终章,春之序曲

大寒至&#xff0c;天地敛声。霜花在窗棂上凝成细密的碎钻&#xff0c;寒气如无声的墨汁&#xff0c;悄然浸透了整座城池。风在空巷里穿行&#xff0c;卷起枯叶如雪&#xff0c;又轻轻落定&#xff0c;仿佛怕惊扰了这冬的酣梦。河面早已冰封如镜&#xff0c;映着铅灰的天&#…

当我们系统遇到mfc70u.dll丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

塔城地区英语雅思辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育

随着新疆留学教育需求的持续升温,塔城地区作为新疆西北部重要的边境城市,学子对优质雅思培训的需求日益增长,雅思成绩已成为海外院校申请的核心语言凭证。当前,塔城地区雅思培训市场机构数量相对有限,教学资源主要…

当我们的系统出现mfc100.dll丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…