| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | B | 变量与常量、基础语法 | 这题就是考const关键字,看到“值不能改”四个字直接锁定,其余三个选项分别管无符号、存储周期和类内例外,跟不可修改没半毛钱关系,排除法最快。 |
| 第 2 题 | 选择题 | D | 进制与编码、运算符与表达式 | 这题就是纯手工加法,别想复杂,从最右边一位开始,按八进制规则(逢八进一)逐位算,注意进位别忘加到下一位去。 |
| 第 3 题 | 选择题 | A | 结构体(struct)、复合类型 | 这题考联合体成员访问,拿到题先想联合体变量是对象不是指针,所以必须用点号。变量名在左、成员名在右,直接给 data 赋值 value 即可。 |
| 第 4 题 | 选择题 | A | 链表、动态内存分配、指针与引用 | 这题考链表头部插入,拿到题先想:新节点要当第一个,所以得先占内存、赋值42、让它指向原头,最后把head指过来。记住‘先连后断’,别漏更新head。 |
| 第 5 题 | 选择题 | C | 树形结构、二叉树基础 | 这题考三叉树节点数公式,拿到题先想‘满三叉树’每层最多放几个,用等比数列求和公式算高度 h 能装多少节点,然后找最小的 h 使节点数≥2023。 |
| 第 6 题 | 选择题 | B | 排列组合基础、计数原理 | 这题核心是‘间隔压缩’:既然每两个选中之间必须空2个,那就先把这些‘强制空位’先占上,把剩下的位置当成新的编号,再直接算组合数。 |
| 第 7 题 | 选择题 | C | 高精度计算、算法 | 这题考高精度运算的基础概念,尤其乘法复杂度。拿到题先想:高精度加法是逐位进位 O(n),乘法是每位乘每位 O(n×m)。命题人爱把“只跟长数有关”这种直觉陷阱塞进选项 C,让你误以… |
| 第 8 题 | 选择题 | A | 栈(stack)、运算符与表达式、线性结构 | 这题核心就是把后缀表达式转回中缀,脑子里先画个栈:数字直接压栈,遇到运算符就弹两个数算完再压回去。关键是减法和除法要倒着弹,先弹的是右操作数,别搞反了。 |
| 第 9 题 | 选择题 | D | 进制与编码、运算符与表达式 | 这道题考进制转换与加法。拿到题别急着算,先看清题目给的是二进制和八进制,求和。最稳妥的思路就是把它们都转成十进制,加完再回头验证选项,毕竟单选题只要找到一个对的就能排除其他。 |
| 第 10 题 | 选择题 | A | 哈夫曼树、树形结构 | 这道题考哈夫曼编码。拿到频率表别急着写代码,先按大小排序,把最小的两个(a和b)拎出来合并,接着看新的最小两个继续合,直到只剩一个根。最后看哪棵树的叶子路径能凑出选项A的编码。 |
| 第 11 题 | 选择题 | A | 二叉树的遍历、树形结构 | 这题核心就是还原二叉树。拿到前序和中序,第一反应是:前序头就是根,去中序里找这个根,左边全是左子树节点,右边全是右子树节点。然后对左右子树递归重复这个过程,最后按后序(左右根)输出… |
| 第 12 题 | 选择题 | B | 拓扑排序、图的基本概念、图形结构 | 这题考拓扑排序,拿到图先看边的方向,只要记住'每条边 u→v 都要求 u 在 v 前面',把四个选项里的数字顺序跟这四条边一一比对,哪个全对就是答案。 |
| 第 13 题 | 选择题 | B | 数据存储单位、数据表示 | 这题考的是计算机存储单位的大小排序。拿到题先别急着背公式,想想计算机底层是怎么存数据的——最原始的单元就是比特(bit),它只能表示0或1;往上才是字节(byte,8个bit)。只… |
| 第 14 题 | 选择题 | A | 排列组合基础、计数原理 | 这题别急着分情况算,太容易算错。直接算总数,再减去全是男生的情况,一步到位。 |
| 第 15 题 | 选择题 | D | 操作系统基础、计算机基础与编程环境 | 这题考操作系统概念辨析。别被 Android 的‘安’字误导,也别把 HTML 当成系统软件。直接想:它能不能管硬件、调内存、跑进程?能就是 OS,不能就是应用或语言。 |
| 第 16 题 | 阅读程序 | AB | 函数定义与调用、基本数据类型、运算符与表达式、输入输出 | 这题考海伦公式求三角形面积。拿到题先看库函数 sqrt 和 cout 的格式控制,再代入数字算半周长 s 和面积 S。注意乘法交换律、输出精度以及不能构成三角形时 sqrt 会变 … |
| 第 17 题 | 阅读程序 | ABD | 字符串(string)、STL容器基础、动态规划、函数定义与调用 | 先识别 f 是 LCS 动态规划,再理解 g 的本质:把 x 自拼一次看 y 是否是其子序列且长度相等。做题时先算 f 的返回值范围,再代入具体字符串模拟匹配,最后检查数组越界风险… |
| 第 18 题 | 阅读程序 | ABDC | 数论基础、整数与整除、循环结构 | 这题核心是读懂solve2的因子遍历逻辑,特别是sqrt(n)处去重,以及把n²与solve2(n)的平方这两个量级完全不同的数对比。 |
| 第 19 题 | 完善程序 | BACD | 二分查找、一维数组、算法 | 这题本质是二分查找。拿到题先想:原序列 nums[i] 本该是 nums[0]+i,现在缺了一个,缺口前等式成立,缺口后整体右移一位。利用这个性质,在 left<right 时取 … |
| 第 20 题 | 完善程序 | ABC | 动态规划、简单动态规划、字符串(string)、函数定义与调用 | 这题考编辑距离的DP递推。拿到题先想:空串对空串是0,空串对长度j要j次插入,长度i对空串要i次删除。然后看当前两个字符,相等就继承对角线,不等就取插入、删除、替换三种的最小值加1… |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。