NOIP 2024 集训短期总结 1
NOIP 2024 集训短期总结 1
范围
时间:2024.10.28 ~ 2024.11.11,总计 15 天。
比赛:NOIP 训练赛 1~9(3/9 IOI,6/9 NOI)、组队训练赛 1/2(2/2 ICPC)、NOIP 2022/2023 真题模拟(2/2 NOI)。
总结
代码速度:做题策略问题
打了这么多比赛,有一个共性:打代码太慢。这并不是因为打字速度的问题,而是因为在做题策略上依旧有问题。
现在做训练赛题,有了一个比之前大致清晰明了的流程,但是这并不是做题策略的全部,现在还缺少一个对每道题单独的分析策略、比赛策略和代码策略。
那么在这里就给自己制定一个更加具体的分析策略和代码策略。
分析策略
当一道题到手的时候,我们不应该直接就强行代入某一种算法,因为此时题面在背景的封锁下,变得及其繁琐、复杂、冗长,这会大大增加思维难度和思考时间,降低我们的效率。
那么该如何解决呢?答案很简单,用简洁的语言复述一遍,不论是用自然语言还是数学语言,然后转换成一个模型。
紧接着,我们再思考各种我们学过的知识点、套路,尝试往其中带入,然后再进入代码时间。
一开始,这样分析可能会有难度、或是仍旧不够简洁,那么我们在日常的训练总结中,可以加入一些简述题意的工作,比如在写题解的时候强迫自己增加一个简述题意的部分,写完之后还可以去参考别人的简述。
比赛策略
在之前我曾经给自己制定过一个比赛流程,但似乎没什么大用。在这里再拷一遍:
- 打出缺省源、编译前置命令,放在编译器里;
- 给每个题目设置文件夹(提交文件夹 & 调试文件夹);
- 把对拍模版打出来放在每个题目的调试文件夹里;
- 开始读题,重新给题目按难度排序;
- 注意三十分钟检查一次勘误(私下比赛时);
- 结束比赛的时候检查代码。
那么现根据这几个月的经验和比赛经历进行补充。
准备工作
- 下载、解锁文件(压缩包);
- 调试编译器;
- 尽快打出所有要用的模版,包括:头文件、随机数生成器、校验器(对拍和样例校验)、快读、调试器。
做题工作
- 拿到题目,要给每题的比赛提交文件和调试文件各开一个文件夹;
- 然后要把每题都读一遍,简单转化分析并 观察部分分 后,再开始做题;
- 把范围能力内能整题做完的尽快做完,然后比较剩下题目的部分分性价比,按性价比逐个做。
- 在做题的时候,尽量给自己为每一题都做一个时间预估,尝试在这个时间内做出题目,不要拖延,时间过了后就果断停止。
检查工作
- 最后 10 min,一定要拿出来检查一些细节问题,包括但不限于:
- 文件名、调试语句。
- 输入、输出(包括快读、快写)。
- 数据类型(包括乘法、加法、左移运算)。
- 数据范围(包括常变量、常数)。
- 宏变量的括号。
- 分支语句的语法。
- 递归语句的顺序。
- 运算符的重载。
- \(INF\)、\(Mod\)、\(EPS\)、\(Basic\)、\(LINF\)、\(DINF\) 等的大小要注意。
- 如果时间有多,那么在最后大概 30 min 的时候来一次全体对拍。
代码策略
- 尽量把各种操作分开,变得模块化;
- 能加注释就尽量加,例如一些数组的定义,以打字时间换思考时间,让代码更加清晰明了;
- 善用编译器。能用 Dev 就用 Dev,毕竟这东西最好调,并且封装完善,虽然有很多 bug,但依旧是首选,可以去探索一下编译器的用法,这样可以提升代码速度。

浙公网安备 33010602011771号