椰程信奥 · 学习笔记
对应视频《CSP第二轮复赛-赛前考试注意事项》22:34 · 配套课件 11 页
一、备赛起点:自我认知与目标设定
- 回答三问:稳定能拿多少分?失分里「不会」与「失误」各占多少?剩余时间 × 每周投入?
- 拒绝好高骛远:目标 = 平均分 + 跳一跳的增量;拆到题:T1T2 全对 + T3 暴力分。
二、考试环境
- NOI Linux 2.0 为主,Windows 工具链以本省通知为准;不用 VS 特有语法。
- Code::Blocks 赛前必须用其完整模考 ≥ 3 场(快捷键 / 编译按钮形成肌肉记忆)。
- 代码与数据不放中文路径 —— 部分工具链在中文路径下静默失败。
三、文件存储与命名(最冤的 0 分)
/CSP2026/box/box.cpp belt/belt.cpp …
- 每题一个文件夹,目录名 = 试卷给定题名;全小写(Box / BOX 均算错)。
- 扩展名正确(.cpp 而非 .cpp.txt);名字抄错 = 该题 0 分,与代码对错无关。
四、OI 赛制与 freopen
freopen("box.in","r",stdin);
freopen("box.out","w",stdout);
/* 主逻辑 */ fclose(stdin); fclose(stdout); // 可选但推荐
- 三大死法:文件名写错(读不到 → 全空 0 分)、调试 freopen 忘删、不关闭导致输出缺尾。
- 对策:freopen 写进代码模板第一行;提交前全文搜索 freopen。
五、拿分技巧
- 测试点特殊性质:数据范围分档(n≤20 → 搜索/状压)、题面「特殊性质 A/B」= 出题人递分。
真题例:2023 一元二次方程(无实根等特殊档)、2024 扑克牌(小范围暴力)、2024 小木棍(贪心过大部分)。
- 部分分决策框架:
正解没思路 → 15 分钟暴力保底 + 40 分钟闹钟;
会但太慢 → 卡常数不换算法(关同步 / 全局数组 / 减少取模);
写到一半发现错 → 保版本,注释新代码另存,时间紧交能过的版本。
六、编程常见问题
| 类别 | 坑 | 对策 |
| 类型 | int 装 long long 的量(N=10 乘积即爆) | 先估范围;拿不准一律 long long |
| 初始化 | vis/dp 多测残留 | 每组用例前重置 |
| 数组 | 开小 RE / 超大 MLE、栈溢出 | 范围+2;10⁶ 以上放全局 |
| IO | 混用没关同步 | 统一一种;cin 加 sync_with_stdio(false) |
| 命名 | y1 / time / next / hash 与库冲突 | 列入禁用名单,写代码前默念一遍 |
七、考前自查清单(可打印随身带)
- 目录名 = 题目名,全小写 ② 源文件 .cpp ③ freopen 名对 ④ 调试输出已删
⑤ long long / 数组大小核对 ⑥ 编译零警告 + 样例全过 ⑦ 敏感变量名排查 ⑧ 结束前 15 分钟做最终核对
- 现场纪律:听从监考;题面歧义 / 设备故障举手询问。
- 开考先看四题数据范围,做时间预算;结束前不恋战 —— 稳拿的暴力 > 快写完的正解。