| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | B | — | 质数判定:检查2到√n即可。筛法:埃氏筛O(n log log n),线性筛O(n)。注意1既不是质数也不是合数。 |
| 第 2 题 | 选择题 | A | — | 贪心算法每一步做出当前最优选择,且不回溯。难点在于证明贪心策略的正确性(常用交换论证法)。 |
| 第 3 题 | 选择题 | A | 函数与递归、递推 | 位运算:&(与)、 (或)、^(异或)、~(取反)、<<(左移)、 (右移)。异或性质:a^a=0,a^0=a。 |
| 第 4 题 | 选择题 | B | 链表 | 位运算:&(与)、 (或)、^(异或)、~(取反)、<<(左移)、 (右移)。异或性质:a^a=0,a^0=a。 |
| 第 5 题 | 选择题 | C | 数论算法、算法、最大公约数与最小公倍数 | 辗转相除法(欧几里得算法):gcd(a,b)=gcd(b,a%b)。当b=0时,gcd(a,0)=a。时间复杂度O(log min(a,b))。 |
| 第 6 题 | 选择题 | C | 函数与递归、递推 | 斐波那契数列:f(1)=f(2)=1,f(n)=f(n 1)+f(n 2)。递归实现简单但效率低(O(2^n)),循环实现O(n)。 |
| 第 7 题 | 选择题 | A | — | 根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。 |
| 第 8 题 | 选择题 | D | 二分查找、循环控制 | STL 容器:vector(动态数组)、set/map(红黑树,有序)、unordered_set/map(哈希表,无序)。注意迭代器失效问题。 |
| 第 9 题 | 选择题 | B | — | 质数判定优化:只需检查2到√n。偶数除了2都不是质数。判断素数的时间复杂度O(√n)。 |
| 第 10 题 | 选择题 | C | — | 埃氏筛法:从2开始标记倍数为合数,O(n log log n)。线性筛(欧拉筛):每个合数只被最小质因子标记一次,O(n)。线性筛效率更高。 |
| 第 11 题 | 选择题 | A | 复杂度分析 | 埃氏筛法:从2开始标记倍数为合数,O(n log log n)。线性筛(欧拉筛):每个合数只被最小质因子标记一次,O(n)。线性筛效率更高。 |
| 第 12 题 | 选择题 | B | 分治算法、归并排序 | 分治三步:分解(Divide)→ 解决(Conquer)→ 合并(Combine)。归并排序的关键在于合并两个有序子数组。 |
| 第 13 题 | 选择题 | B | 快速排序 | 分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。 |
| 第 14 题 | 选择题 | A | — | 递归问题关注两点:① 递归边界(终止条件);② 递归关系(递推公式)。分析时展开前几步即可看出规律。 |
| 第 15 题 | 选择题 | A | 链表、函数 | 图的存储方式:邻接矩阵(O(n²)空间,适合稠密图)、邻接表(O(n+m)空间,适合稀疏图)。 |
| 第 16 题 | 判断题 | A | STL算法基础、最大公约数与最小公倍数 | 辗转相除法求最大公约数:gcd(a,b) = gcd(b, a%b),当b=0时返回a。时间复杂度O(log min(a,b))。 |
| 第 17 题 | 判断题 | B | 算法 | 分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。 |
| 第 18 题 | 判断题 | A | 二分查找 | 二分查找每次将搜索范围减半,仅适用于有序序列。注意边界条件的处理(左闭右开或左闭右闭)。 |
| 第 19 题 | 判断题 | B | 贪心算法、动态规划 | 贪心算法每一步做出当前最优选择,且不回溯。难点在于证明贪心策略的正确性(常用交换论证法)。 |
| 第 20 题 | 判断题 | A | 算法 | 分治三步:分解(Divide)→ 解决(Conquer)→ 合并(Combine)。归并排序的关键在于合并两个有序子数组。 |
| 第 21 题 | 判断题 | A | 归并排序、复杂度分析 | 分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。 |
| 第 22 题 | 判断题 | B | — | 埃氏筛法:从2开始标记倍数为合数,O(n log log n)。线性筛(欧拉筛):每个合数只被最小质因子标记一次,O(n)。线性筛效率更高。 |
| 第 23 题 | 判断题 | B | 贪心算法、算法 | 贪心算法每一步做出当前最优选择,且不回溯。难点在于证明贪心策略的正确性(常用交换论证法)。 |
| 第 24 题 | 判断题 | A | 链表、复杂度分析、数据结构 | 链表分为单向/双向/循环链表,插入删除O(1),但查找O(n)。注意指针操作的顺序,防止断链。 |
| 第 25 题 | 判断题 | A | 函数与递归 | 递归问题关注两点:① 递归边界(终止条件);② 递归关系(递推公式)。分析时展开前几步即可看出规律。 |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。