| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | B | 操作系统基础 | 拿到题先别急着背命令,想想 Linux 里‘换地方’这个动作对应什么英文,change directory 缩写就是 cd,其他选项里 ls 是看目录、cp 是复制,all 纯属凑… |
| 第 2 题 | 选择题 | A | 操作系统基础 | 秒表测的是程序从启动到结束在墙上流逝的真实时长,而 time 命令里的 real 正好就是这段真实时间,直接选 real 对应的数值即可。 |
| 第 3 题 | 选择题 | D | 栈(stack) | 这道题考的是栈的模拟与序列合法性判断,核心是'不连续三次退栈'的约束。拿到题先别急着套公式,把每个选项按入栈顺序一步步推演,数一数退栈时有没有连着来三次,就能一眼看出哪个不可能。 |
| 第 4 题 | 选择题 | C | 排序基础、归并排序 | 看到‘最坏’二字立刻警觉,四个选项里只有归并排序是无论数据怎么摆、递归深度固定为 log n,合并每层线性扫一遍,稳稳卡在 O(n log n),其余三个平均再好,最坏都能退化成平… |
| 第 5 题 | 选择题 | A | 排序基础、计数排序与桶排序 | 这题考的是基数排序的稳定性。拿到题先别想具体数字,直接抓住“稳定性”这个核心:基数排序每轮都是稳定分配,其他数据的相对顺序绝不会被一个异常值打乱,移除异常值后剩下的必然有序。 |
| 第 6 题 | 选择题 | B | 数据存储单位、进制与编码 | 这题考大小端字节序。拿到题先别急着背结论,把十六进制数拆成四个字节,再想:小端是低位字节放低地址,大端是高位字节放低地址。指针p指向x的首地址,所以看第一个格子里填的是哪个字节就行… |
| 第 7 题 | 选择题 | C | 二叉树基础、二叉树的遍历 | 核心思路: 完全 3 叉树(每个节点 3 个子节点),深度 5,前序遍历编号。 要先算前 4 层总节点数: 第 1 层:3⁰ = 1 个节点 第 2 层:3¹ = 3 个节点 第 … |
| 第 8 题 | 选择题 | B | 图的基本概念、强连通分量(SCC) | 这题考的是强连通图与完全图的概念辨析。拿到题先别急着看选项,脑子里要把‘强连通’的定义刻清楚:有向图里任意两点间必须双向都有路径。然后逐项去套这个定义,看哪个选项描述的不是强连通而… |
| 第 9 题 | 选择题 | D | 图的基本概念、欧拉路径/回路、排列组合基础 | 这题本质是圆排列计数。2 正规图必由若干环组成,欧拉回路条件强制图连通,即只有一个大环。把 n 个点围成环,先除以旋转同构 n 得 (n 1)!,再考虑环可翻转(镜像对称)同构,最… |
| 第 10 题 | 选择题 | A | 排列组合基础 | 8 人里挑 2 人组队,题目特意强调不区分角色,这直接指向组合模型。别被数字 8 和 7 一乘就晕,先想清楚{A,B}和{B,A}是不是两种方案,再套用公式 C(8,2) 算数。 |
| 第 11 题 | 选择题 | C | 计数原理 | 看到'可重复'就锁定乘法原理,把五位拆成二字母三数字两步,直接算 26×26×10×10×10 即可。 |
| 第 12 题 | 选择题 | D | 同余与模运算 | 别急着算,先画个 0 9 的格子。把前六个数按顺序插进去,每插一个就更新一下表的状态。看到 89 冲突了,顺着线性探查一步步往后挪,直到碰到第一个空位停下,那个位置就是答案。 |
| 第 13 题 | 选择题 | B | 循环结构 | 别被两层循环吓住,核心就盯住内层那个 j 的变化:每次乘 2 意味着循环次数是对数级的,再乘外层的 n 次,答案自然就出来了。 |
| 第 14 题 | 选择题 | B | 排序基础 | 这题考的是“找最大值至少需要多少次比较”的下界问题。拿到题先想:要把 n 个数里的最大值找出来,其他 n 1 个数每一个都必须至少输过一次比较才能被排除,所以直接数一下最少要排除几… |
| 第 15 题 | 选择题 | B | 递归函数 | 这题考递归函数阿克曼函数,双递归嵌套深,别一上来就硬算(2,2)。正确心法是:先算边界ack(0,n)=n+1,再算ack(1,n)的规律,最后用递推表从ack(1,4)倒推回ac… |
| 第 16 题 | 阅读程序 | ABD | 字符串算法、KMP算法 | 程序功能: BM 算法简化版(仅坏字符规则)。函数 f(s,t) 返回 t 在 s 中首次出现的下标,找不到返回 1。 预处理:shift[c] = m j(字符 c 在 t 中最… |
| 第 17 题 | 阅读程序 | BADC | 排序基础、计数排序与桶排序 | 这题考基数排序。拿到题先看 init 里怎么算位数 m,再看 solve 里 base 怎么变、cnt 怎么清零和前缀和,最后手动模拟第一轮按最低位%k排序,就能选出答案。 |
| 第 18 题 | 阅读程序 | AB | 进制与编码 | 这题考负进制转换。拿到题先看核心公式:取余时加 k 保证非负,更新时是 (余数 n)/k。别被负数吓到,按公式硬算几轮就能发现规律,逆序输出字符即可。 |
| 第 19 题 | 完善程序 | CBA | 二分查找、分治算法 | 这题核心是二分归并找第k小:每次取两数组当前区间中点,用中点下标之和作为已排除元素数cnt,比较中点值决定舍弃哪半边;循环直到某数组区间为空,再从另一数组按剩余k值取元素并与耗尽数… |
| 第 20 题 | 完善程序 | AC | DFS(深度优先搜索)、BFS(广度优先搜索) | 这题本质是求两个容器间状态转移的最短路,但题目强制用 DFS 记忆化来算。拿到题先想:状态是 (x, y),终点是 x=c 或 y=c,所有操作代价都是 1,所以 dfs(x, y… |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。