| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | D | 运算符与表达式、基本数据类型、基础语法 | 别被浮点数吓住,这题核心就是运算符优先级和取模陷阱。看到表达式先别急着算,把强制类型转换括号里的东西先圈出来,记住%只能整型参与,乘法%同级从左往右,一步步拆解就能秒杀。 |
| 第 2 题 | 选择题 | C | 计算机系统、软件系统 | 这题考的是多媒体文件格式分类,拿到题先想:WMV、MPEG、AVI 都是视频相关,只有 JPEG 是静态图片格式。 |
| 第 3 题 | 选择题 | D | 位运算、进制与编码 | 看到二进制位运算 → 先对齐位数,逐位判断是否有1 |
| 第 4 题 | 选择题 | B | 编译与解释、计算机语言分类 | 这题考的是编译器定义,拿到题先想:高级语言到机器码的翻译。排除重组、反向翻译、自然语言,就能锁定答案。 |
| 第 5 题 | 选择题 | B | 运算符与表达式、基本数据类型、基础语法 | 核心就三步:乘100放大、加0.5凑整、取整截断,最后再除100还原。关键是(int)必须夹在加0.5之后、除100之前。 |
| 第 6 题 | 选择题 | B | 排列组合基础、计数原理 | 拿到这题别急着套公式,先盯着那两对重复的1和8。核心思路是分类讨论:到底用了几个不同的数字?是把1当一对、8当一对,还是两对都凑齐?按‘不同数字个数’这一条线分三类(4个不同、3个… |
| 第 7 题 | 选择题 | C | 排序基础、快速排序、归并排序 | 排序稳定性核心看‘相等元素相对顺序是否被破坏’。快速排序分区时左右指针跳跃交换,相等元素极易越界,直接锁定它。 |
| 第 8 题 | 选择题 | B | 图的基本概念、基础图论概念 | 这题核心就是抓“非连通”四个字。既然要顶点最少,那有边的部分必须尽可能稠密,直接凑成完全图;剩下的顶点只能孤立。算出能装下28条边的完全图顶点数,再加一个孤立点,答案就出来了。 |
| 第 9 题 | 选择题 | B | 排列组合基础、计数原理、数论基础 | 回文约束把5位拆成3组变量,先数出所有颠倒不变的车牌,再用“数字和模3”筛一遍。中间位只能选0/1/8,两边对应配对,算出总数后分情况讨论即可。 |
| 第 10 题 | 选择题 | A | 集合论基础、计数原理 | 这题就是考容斥原理,拿到题先别急着加,要想想‘至少一门’意味着什么——双满分的人被加了两次,得减回来,直接套公式就能出答案。 |
| 第 11 题 | 选择题 | D | 归并排序、分治算法 | 这题别急着套公式,先想合并过程的本质:两个有序数组合并,每次比较只能把一个小元素‘请’出去。当只剩一个数组没空时,剩下的直接搬过去不用比了,所以最坏就是 2n 1 次。 |
| 第 12 题 | 选择题 | D | 图的存储、图的基本概念 | 这题其实是在考你对数据结构的‘适用范围’有没有数清楚。拿到题先想:图是多对多关系,那谁能存多对多?栈、队列、二叉树都只能存线性或一对一/一对多,只有邻接矩阵是专门给图设计的,直接锁… |
| 第 13 题 | 选择题 | B | 贪心算法、最短路径、图论算法 | 这题考的是算法思想分类。拿到题别急着背,先想每个算法的核心逻辑:是每一步都做了‘不可撤销’的贪心选择,还是通过多阶段递推来‘回头看’优化?看它有没有固定的决策顺序,有没有保存子问题… |
| 第 14 题 | 选择题 | B | 数列基础、简单数论 | 这题考等比数列通项公式和质因数分解。拿到题先别急着套公式,盯着中间项和首项的比值,算出公比的k次方是多少,再结合末项验证一致性,最后看哪个选项能凑出这个幂次。 |
| 第 15 题 | 选择题 | A | 简单动态规划、动态规划 | 这题就是数字三角形求最大和,拿到题先想:到 a[i][j] 只能从上一行左上方 a[i 1][j 1] 或正上方 a[i 1][j] 下来,所以最优解肯定是这两条路径里和更大的那条… |
| 第 16 题 | 阅读程序 | BAD | 循环结构、循环控制、运算符与表达式、模拟、基础算法 | 这题考数组扫描与双指针,拿到题先盯住 ans 何时重置、while 何时推进,分 i 枚举看 ans 与 i 关系,再代入递增序列验复杂度,别被'最长不下降子序列'带偏。 |
| 第 17 题 | 阅读程序 | ABC | 并查集、数据结构、函数定义与调用、递归函数 | 这题核心是读懂并查集合并时的计数逻辑:每次合并两个集合,把两集合大小的乘积累加到 ans 里,最后 ans 就是所有节点对在合并前分属不同集合的总次数。 |
| 第 18 题 | 阅读程序 | ABDC | 字符串(string)、字符数组与字符串处理、字符串算法、模拟 | 这题考的是'删除一个连续子串后还能否包含t',核心是把pre和suf数组当成'前缀匹配长度'和'后缀匹配起始位'。拿到题先想:pre[i]表示s[0..i]能匹配t的前缀长度,su… |
| 第 19 题 | 完善程序 | CDB | 贪心算法、循环控制、循环结构、基础语法 | 这道题是贪心+拓扑排序的混合体,核心就是每次挑一个‘前置已满足且经验够’的技术学,学完再更新依赖它的技术。 |
| 第 20 题 | 完善程序 | CBAD | 动态规划、位运算、状态压缩DP、博弈论基础 | 看到博弈 DP+状态压缩 → 先想:64 位整数能否打包最近 64 个胜负态?能! |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。