写在NOIP2017之后

本来应该有另一篇博客叫做写在NOIP2017之前的, 但跑回家才意识到博客搭在机房的电脑上, 于是……

比赛过程

Day1

看到这个T1不送分了, 心里还是有点虚, 认真地读完了后面两题平复了一下心态.
想着既然是T1, 肯定不是送就是偷, 看着样例找了找规律, 推了个 $ a + b + (b \% a) (a < b) $ 的方法, 发现过不了大样例. 于是盯着大样例发呆, 突然发现了世界的奥秘.
然后写T2, 写完眼查了一下大样例, 正要关闭窗口的时候 Vimdiff 了一波, 发现自己大小写写错一大堆…
T3想了想写了个不考虑零边的记忆化搜索, 发现大样例过不了 认真思考了一下发现是没有考虑到达终点又折返的情况 又想了想发现 $-1$ 挺好判的, 就加上了.

Day2

到达考场时精神状态不太好, 意识模糊地打开了题目.
看完T2一直在想MST什么的, 感觉不太会做准备放弃时发现数据范围只有12, 于是秒懂了.
T3没想多久推出一个平衡树的做法, 对自己代码能力过于自信没有多想就开始写, 结果调到最后一刻还是GG了.

反思错误

感觉这次虽然题目比较奇怪, 但实际难度还是合理的, 出现了一些失误恰恰暴露出身上的一些问题.

  • 考试的时候大部分处在一种边想边写的状态, 一边写可能还要一边完善一些细节.
  • 刷了很多Atcoder 的题目之后, 代码能力退化明显.
  • 考场的debuff比较强.

可能后面两条还稍微可以接受吧, 但是第一条的确是硬伤, 这样做简单题或者在比较清醒的时候写题可能还好, 然而一旦遇到代码实现比较复杂或者条件比较多的题目, 就会挂得很惨, 这个问题模拟赛中也出现过几次.
解决的策略其实说起来也不难, 主要就是每道题写之前把算法细节考虑基本清楚, 做到 $ Think \,\, twice, Code \,\, once $ 吧. 这样也不会出现某道题写了很久最后发现做法是错误的这种尴尬的情况也能够避免写一些特别复杂的做法.

关于未来

针对这次联赛的问题和原来的一些弱点, 对接下来的一段学习做一些规划:

  • 补一些数学相关的知识(不一定OI相关)
  • 提高一下代码能力, 复习一些不熟练的数据结构, 刷一些质量比较高的题目

然后的话, 回去就要补文化了吧.