洛谷
中文题目最全,有难度分级与现成题单。打专题时首选:按标签筛选,从模板题一路做到提高+ 的变式题。
- 题单
- 难度分级
- 比赛
资源清单
到了这个水平,问题从来不是「找不到资源」,而是资源太多。这里只留真正会反复打开的东西, 并且写清楚每个该用来干什么——收藏一百个链接和收藏零个的效果是一样的。
题源
中文题目最全,有难度分级与现成题单。打专题时首选:按标签筛选,从模板题一路做到提高+ 的变式题。
强在思维与构造。这个水平最该刷的是 Div.2 的 C–E,赛后 Editorial 讲「为什么想到」讲得比多数中文题解清楚。
ABC 的 D–F 与 ARC,题风干净、难度曲线平缓。适合用来建立稳定的做题节奏,也适合当模拟赛补充。
省选与 NOI 原题集中,配套题解质量高。用来拉上限:当提高题已经稳定能过,就该来这里找难受。
补充:OI Wiki 查实现细节; 近年 CSP-S / NOIP / 省选真题建议按年份成套做,成套做才能暴露「时间分配」问题。
选题
独立思考后能做出,或者至少能写出暴力。太简单浪费时间,太难只收获挫败感。
每天换标签,等于每天重新热身。集中火力把一个模型的所有变式打完,再换下一个。
成套才有时长与顺序的压力。单题刷是练算法,成套做才是练比赛。
资料
李煜东,常被称作「蓝书」。省选层面的主干内容基本都在里面,讲解紧凑,适合当工具书按专题查。 读法是「读一章、做掉那一章的题」,不要当小说看。
查实现细节与边界条件最快的中文来源:复杂度、写法的坑、板子。注意它是百科,不是题单, 别从头读到尾。
看题解要看的是「从题面到模型的那一步是怎么想到的」,而不是把代码抄下来。 只抄代码的人,一周后就忘干净了。
省队方向的专题深挖资料,按需挑着读。一个专题读一篇就够,读多篇容易陷入「看了很多,一道都不会写」。
工具
这个水平的失分,一半来自「写挂了但本地没发现」。这三件事能把它压到很低。
正式评测用优化编译;本地查错误用 sanitizer,它能直接定位越界与未定义行为,比 printf 快得多。
# 1. 按评测机的参数编译
g++ -O2 -std=c++17 -Wall -Wextra -o solve solve.cpp
# 2. 本地查越界 / 溢出(慢 3–5 倍,只在小数据上用)
g++ -g -O1 -fsanitize=address,undefined -o dbg solve.cpp
# 3. Windows 下 300 组随机对拍
for /l %i in (1,1,300) do (
gen.exe %i > in.txt
brute.exe < in.txt > a.txt
solve.exe < in.txt > b.txt
fc a.txt b.txt || (echo WA at %i & pause)
)
gen seed,便于复现出错的那一组n ≤ 10 的纯暴力,是验证正解的唯一手段time ./solve 或 Measure-Command,别凭感觉判断超时solve.cpp / brute.cpp / gen.cpp / in.txt,省掉每次搭环境的时间常见问题
没法用时间回答,但可以用三个判据:能不能独立做出提高+ 的题、模拟赛能否稳定 200+(300 分制)、 能不能说清自己的失分结构。三条都成立时,你就在省一线上了。
先查三件事:难度是不是一直在 70% 以上(太简单)、复盘是不是只停留在看题解、最近两周是不是只做了同一类题。 三条里通常有一条中了。
2–3 道,且每道都复盘,优于 6 道只看题解。题量是结果不是目标;真正的指标是「独立写出」的比例。
第二档尽量别放弃,它们是省一的地基;第三档可以按出现频率取舍,比如计算几何可以最后再碰。
冲省一不必,冲省队必学。但先确认第二档没有漏洞——地基不稳时学高阶专题,学完也用不上。
竞赛决定上限,文化课守住下限。用固定时段而不是「状态好再学」来安排,是能长期坚持下去的唯一办法。