专栏文章

警示后人——OI 赛制防丢分注意事项

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mimyx0si
此快照首次捕获于
2025/12/01 17:49
3 个月前
此快照最后确认于
2025/12/01 17:49
3 个月前
查看原文

警示后人

OI 赛制防丢分注意事项

都是我和前人问走过的弯路,你们可别走了,走了就会④。

一、场内场外——基础状态问题

1. 试机注意事项(试机前必看)

  1. 好好地检查电脑,特别是要检查 dev-c++、鼠标左右键、键盘、分辨率等等;
  2. dev-c++code::blocksVS Code 打一个带文件 IO 的A+B进行命令行调试,检查能否正常打代码和调试,出了问题一定要报备;
  3. 尝试 __int128 等高版本或 Linux 特有的 feautre 是否可正常编译运行,再次强调,带文件 IO 和命令行检验
  4. 检查此电脑、PDF 打开器能否正常运行,各个功能是否正常,有 Linux 的熟悉 Linux;
  5. 检查文件资源管理器的每个功能,尤其要打开显示文件扩展名,不然你如果连续出现两个 .cpp 咋④的都不知道;
  6. 熟悉考场地点,确保能尽快到达;
  7. 熟悉考试路径,以防人多迷路。

2. 技术类错误

  1. 不要存错盘或文件夹;
  2. 不要重命名错文件夹;
  3. 比赛开始前的密码尽量一次输对。

3. 态级错误(心态、状态、态度)

3.1 心态
调整好心态,给你几条建议:
  1. 考前睡个好觉 其实睡得不好也行,只下午考的话只要午觉睡好就行;
  2. 不要打在考前学不会的部分,不然心态易崩;
  3. 不要在考场上 yy 算法,不然多数情况下会浪费大量时间且会崩心态,但急中生智除外;
  4. 考前可以通过告诉自己“我能行”的方式调整心态,别看不起,它很有用。
3.2 状态
状态要调整好。
  1. 考前睡个好觉;

  1. 考前不要让大脑太过于运转或太过于放松;
  2. 不要把考试看得太轻,也不要把考试看得太重要,这不是您的终点(除非您高二且这是 OI 系列考试);
  3. 考试时可以带零食和水,但不要去太多卫生间,也不要吃海鲜、把子肉等垃圾食品,拉肚子后果自负;
  4. 考前可以适当放松,但是考前最后 1h1h 和两次考试之间建议不要放松;
  5. 考前可以打爽文或者是打 OI 回忆录来调整状态;
  6. 考前要看一遍其他人写的总结,这样能提升你的状态,亲测了,很有效。
3.3 态度
考试要有个态度!!!不要太放纵了!!!
  1. 积极践行“以辛勤劳动为荣,以好逸恶劳为耻;以遵纪守法为荣,以违法乱纪为耻 ”的社会主义荣辱观,以及“敬业、诚信”的社会主义核心价值观,这里提醒一下某只鸟;
  2. 如果在做题的时候,遇见不会做题光搞心态的 870870 元体验卡歌(这里指的是 CSP-S 花钱光体验场地不打比赛的人,引申为不好好打比赛的人)、AK 佬(有些是有些不是)或🍬🍡人(这种人🍬得没边,有可能是会打的部分分都打完了,最后 11.5h1\sim1.5h 多见)少管,注意力放在题上,一定会有人来专门处理这种人的(它们就叫去吧),如果引火上身得不偿失;
  3. 不要皖尤溪,不然等着吃🛀💊吧。除非你把能打的部分分打完并保证无误,但一般还是不要皖尤溪;
  4. 蒙脱石散、速效救心丸、创可贴、卫生纸之类的东西需要的时候也要带,不然真出事了谁都救不了你;
  5. 就算你 AK 了也别大声喧哗,认真检查;
  6. 最后 1010 分钟好好地检查每道题,不管你有没有打完,有没有 AK,典型教训:CSP-J 2024(笔者),CSP-S 2025(笔者、hhr);
  7. 虽然我们都讲“舍生取义”,但考场上宁愿苟且偷分,不要舍分取义,部分分必须好好地打,《骗分导论》最好看一遍。

二、基础为重——入门级问题

1. 入门级代码(初级语法)错误(部分附解决方法)

  1. 不要注释或写错 freopen
  2. 不要写错文件名;
  3. 不要用关键字当变量(笔者栽在了 hash 上,cwz 栽在了 kill 上);
  4. 不要打错大括号,最好每打一行就 F9 编译检查一次(不瞒您说,笔者很多次犯这个问题);
  5. 数据范围、模数等基本数据不要看错,分类讨论时注意是否遗漏,输入输出的格式要特别谨慎;
  6. 一定要写 return 0
  7. 尽可能杜绝 #define int long long
  8. 定义函数时注意函数类型;
  9. 不要除以 00,最好除以变量的时候作除以 00 预判;
  10. 数组不要开小,建议多开 55;不要开大,MLE 会直接 00 分,真要检查总空间可以定义两个 bool然后cerr 这俩间的字节数判断;
  11. 注意字符串类型的读入中间可能会暗藏空格, scanfgetchar 读字符都可能会读到空格;
  12. 注意如果输入多可以写快读,输出多可以写快写;
  13. 注意判断边界(00nn);
  14. 不要漏写头文件,再次建议:最好每打一行就 F9 编译检查一次,也不要用万能头,否则可能引发不必要的错误;
  15. 用完的断点调错一定要注释,最好删掉;
  16. 当输入数据、坐标等为负数时,记得加上一个偏移值防止越界 RERE 这个测试点甚至这档部分分就白打了);
  17. 不要定义野指针;
  18. 尽量不要关同步流(虽然同步流省时间,且多数情况下都是正确的,但是如果使用 cincout 以外的输入输出方式会读错数据),解决办法回看第 3939 条;
  19. 在使用 scanf 时输入数值、字符或数组元素​时由于粗心没加 & ,会 RE 且极难调出(因为 scanf 是根据地址读入的数据);
  20. 记得每道题的每个样例都测试到,不要掉以轻心。

2. 高级语法(基础级代码细节、基础级算法)错误

  1. 出现任何环问题,最好先翻倍区间
  2. 只要不是主函数,统统用的是栈空间,数据太大会 RE
  3. 树上 dfs 的时候别忘了儿子不能更新父亲的 fadepdfnetc.
  4. bfs 时不要忘记给起点入队;
  5. 尽可能地不用 mapsetlist,除非必须(它仨分别的上位替代:unordered_mapmultisetvector 或手写链表);
  6. 函数内部的空间限制为 10510^5,所以数组尽量不要开在函数内部(小心 RE);
  7. 高精度啊,那注意事项很多,比如说要注意方向啊、顺序啊、压位啊、重制运算符别写错啊等等;
  8. 贪心一定要先好好证明,至少要列几组样例去测测,还有再次提醒考场上宁愿苟且偷分,不要舍分取义,所以大胆猜测,小心求证,一步都不能少;
  9. 二分先看清边界,可以多测几次,也可以在最后转暴力(但小心常数问题);
  10. 排序的时候优先考虑 std::sort,功能较强大,实现极易,实在不行再用手写排序,用的时候也尽量写归并、基数之类的快速的排序;
  11. 搜索这一块,深搜注意栈空间问题,能剪的枝要剪掉;广搜适合在树的高度很高但深度不大时使用,也可以用来遍历图,时间复杂度 Θ(n+m)\Theta(n+m)
  12. 动态规划注意能压维的压维,赛场上如果 MLE 那可是零分,要按照三步走:状态、转移、初始化;
  13. 待补

真到考场上,第一件事是在 C 盘和 D 盘开你的主文件夹、子文件夹,然后开 88cpp44 个存 C 盘,44 个存 D 盘,都存到子文件夹,并做一定标记,在 C 盘打初始代码;如果某题目初始代码准确无误,复制到 D 盘后不管;最后 11 分钟再次复制,否则后果自负!!!如果我当时 2024 年这样做了,我就 305 分(一等,第 12 名)了,还能拉那些并列第 11 名的分。。。。。。
以及一定要时刻使用 gcc 编译!!!

最后祝各位:
  • 你往昔的信奥之路,山花烂漫,收获硕丰;
  • 你即将的信奥比赛,一发入魂,心想事成;
  • 你未来的人生征途,披荆斩棘,走向巅峰!

评论

0 条评论,欢迎与作者交流。

正在加载评论...