五级是从"语法"到"算法"的真正跨越,难度陡增。但好消息是:这一级的考点套路非常清晰,建好"模板库"就能稳步提分。
编程题两道,如"哥德巴赫猜想"(素数判定 + 枚举)"饮品调制"。
1. 二分答案:遇到"最大值最小化 / 最小值最大化",大概率是二分答案——二分一个候选值,用 check() 判断可行,逐步逼近。先把模板背熟,再练变形。
2. 快速幂:求 a^b 时,把指数按二进制拆开,O(\log b) 就能算完——分治思想的经典应用。
3. 筛法:埃氏筛(把每个素数的倍数标记为合数)和欧拉线性筛,是一次性求出一批素数的利器。
4. 链表:单 / 双向链表的插入、删除、遍历,是"手上功夫",一定要亲手写熟指针操作。
五级拼的是"模板熟不熟"。先会默写,再谈变形,算法这道坎就迈过去了。