GESP 202312 C++ 八级 真题解析

GESP 八级 · 25 道题逐题解析速查表:答案、考点、一句话思路,点击任意题号看完整解析。

GESP 八级 全部真题

逐题速查表

题号题型答案考点解题思路
第 1 题 选择题 C — 这题本质是分类计数加乘法原理。拿到题先别急着算,看清'或'字——它把问题拆成两个互斥的大类:经C城和经D城。每类内部再按'且'字拆解步骤,用乘法把步数串起来,最后两大类相加。
第 2 题 选择题 A 函数 这道题考的是C++二维数组参数传递的退化规则,核心在于'第一维可省略,第二维必须写明',拿到题先想实参是二维数组名,它退化成指向首行的指针,形式参数必须匹配这个类型。
第 3 题 选择题 D 函数 这题考的是虚函数规则。拿到题先想'虚函数'靠什么实现多态?靠虚表。构造函数执行时虚表还没建好,所以构造函数不能是虚的;析构函数执行时对象已存在,虚表正常,所以可以是虚的。
第 4 题 选择题 B — 邻接矩阵是方阵,n个顶点对应n行n列,直接锁定B。
第 5 题 选择题 C 排列组合基础 先算5人全排列总数,再减去那位同学固定在第一位的非法情况,用减法排除更稳妥。
第 6 题 选择题 D 最小生成树 拿到题先别急着背公式,先圈出题干里有没有‘连通’二字。无向图未必连通,只有连通图才存在最小生成树,所以第一步是判断存在性,而不是直接算边数。
第 7 题 选择题 A 函数 图的存储方式:邻接矩阵(O(n²)空间,适合稠密图)、邻接表(O(n+m)空间,适合稀疏图)。
第 8 题 选择题 C 复杂度分析 别被「二叉排序树」这个定语绕晕了,直接看动作:中序遍历就是左根右,n 个节点每个都得摸一遍,次数固定为 n,常数操作叠加就是 O(n)。
第 9 题 选择题 A 算法、复杂度分析 这题考辗转相除法的复杂度,拿到题先别急着套公式,盯着循环里 m 和 n 的变化看——每次 m 变成 n%m,余数一定比除数小,所以除数至少减半,循环次数就是 log n 级别。
第 10 题 选择题 C 算法、复杂度分析 这题考快速幂的时间复杂度。核心不是看代码行数,而是看递归里 n 怎么变:每次 n 减半,递归树深度就是 log₂n,每层只做常数次乘法,所以总复杂度是 O(log n)。
第 11 题 选择题 D 复杂度分析、递推 这题别被递归树吓住,核心在于数清楚记忆化数组里到底存了多少个有效状态。拿到题先想:递归只会访问哪些 (n,m) 组合?这些组合的总数是多少?每个组合只算一次,时间复杂度就是状态数。
第 12 题 选择题 B 数据结构 这题考的是邻接表存储有向图,但代码里藏了个‘偷梁换柱’的坑:节点数组 n 并没有按顺序指向 e[0]~e[3],而是跳着指向了 e[0]、e[1]、e[3]、e[4]。拿到题先别急…
第 13 题 选择题 B — 拿到三重循环别慌,核心就一句:(a+b)×h=20。先把20的因数拎出来,看h能取哪些值,再对每个h数有多少对(a,b)加起来等于20/h,最后累加就是答案。
第 14 题 选择题 A — 这道题考的是勾股数枚举与三重循环剪枝。拿到题先别急着套公式,把三个循环的上下界和 a²+b²=c² 这个条件翻译成具体的搜索范围,一层层推下去就能数出来。
第 15 题 选择题 C 动态规划 这题考的是网格最短路径的DP,但陷阱全在'下标偏移'上。别盯着公式背,先看循环:i和j都是从0跑到的,横线处若直接写dis[i][j],当i=0或j=0时就会访问负下标,直接越界。…
第 16 题 判断题 B — 这题考的是 C++ 赋值语句的语法合法性。拿到题先别急着算,盯着等号左边看:它是个表达式(x 2 4),不是变量。C++ 里赋值只能给变量(lvalue)赋值,表达式不能当目标,所…
第 17 题 判断题 A 排列组合基础 拿到题先别急着套公式,看清关键词'颜色顺序'和'完全相同'。这类题本质是枚举颜色构成,再算每种构成下的排列数。球少时直接枚举最稳,别被'组合'字眼带偏。
第 18 题 判断题 A 组合数学、动态规划、函数与递归 这题是个送分概念题,核心就是把杨辉三角和组合数 C(n,k) 对应起来。拿到题先别慌,直接回忆二项式定理展开式里第几行第几个数是什么,再对照题目描述里的‘行’‘列’定义,看是不是完…
第 19 题 判断题 B — 这题考有向完全图边数公式。别被‘完全图’带偏,直接想:N个点,每对点连两条反向边,总边数就是N×(N−1)。
第 20 题 判断题 A 函数 这题考哈希函数的存在性。别被‘冲突必存’的常识带偏,抓住‘元素确定’和‘槽够多’两个前提,用抽屉原理逆向思考:既然每个元素占一格且槽位充足,总能为它们一一分配位置,即存在无冲突映射…
第 21 题 判断题 A 动态规划 这题考动态规划时间复杂度构成。拿到题先想:DP 把大问题拆成多少个子问题(状态数),再想解每个子问题要几步(转移代价),两者相乘就是总耗时,这就是乘法原理在算法分析里的直接应用。
第 22 题 判断题 B — 别光看公式,先想数据类型!题目里全是 int,整数相乘再整除,小数部分直接没了,这就是坑。
第 23 题 判断题 B 算法、并查集 别被'只能'两个字卡住,图连通性本质是看任意两点是否可达,BFS、DFS、并查集都能搞定,命题人就是拿绝对化表述挖坑。
第 24 题 判断题 B 复杂度分析、算法 拿到题先别急着背公式,把‘最好情况’四个字刻在脑子里:成功查找且目标就在根节点,比较次数就是1,跟树高没关系。
第 25 题 判断题 A 函数 这题考的是实数域二分法求平方根。拿到题先想:平方根满足单调性,区间[0,x]上二分mid²与x比较,迭代到精度足够即可,无需库函数。

本套考点分布

函数 · 5 题复杂度分析 · 5 题算法 · 4 题动态规划 · 3 题排列组合基础 · 2 题最小生成树 · 1 题递推 · 1 题数据结构 · 1 题组合数学 · 1 题函数与递归 · 1 题并查集 · 1 题

怎么刷这一套

建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。

想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。

← GESP 八级 全部真题真题解析总览