14:21:前面是我认为打得ok的场数,后面是总场数。

而败掉的7场中,有6场是fst造成的,也就是说只有唯一的一场会让我什么都不会做而比不过人家。我的水平没有真正发挥出来,这是一件很可怕的事情。

其实在多数训练中,我的fst都是由于以下两种情况造成的:一是代码实现过程不够严谨,二是自己被吓到了。

对于情况一,它大致可以分为三种。第一种是阅读题面不够细心,例如数据范围没有看仔细、题意没有理解到位、有无额外的有用信息。第二种是代码实现过程中实现不够精细,例如数组少开了、数组开大而MLE了(今天,可恶!)、乘法过程中乘了一个大于模数的数,等等。第三种是调试过程中思路不够清晰,例如对拍的时候使用了一种相近的算法或者调用了错误的路径、提交时交错了版本、文件拼错了(freopen("a.out","r",stdin))、浪费大量时间在无用的东西上。这些错误一犯再犯。虽然一种错误发生的概率很小,但累积起来就太大了——达到了惊人的三分之二。

对于情况二,通常是题目比较简单而我没有什么想法。当别人已经开始写代码而我还无法得到一个能够获得高额分数的算法时,我就会胡思乱想,然后陷入非常绝望的心情,然后进入恶性循环,直接自闭。这个致命的问题已经在许多重要的比赛中害惨我了(NOI,NOIP)。

这两种情况,如果我无法杜绝,就必然不可能有好的结果。只有确保自己,才能有好的发挥。

其实情况一的解决方法相当简单。每次训练或比赛前想想、看看自己的fst记录,明确一套自己的保险措施,并踏踏实实地运用起来(不要急躁),就能杜绝这些错误。

情况二比较麻烦,因为他涉及到了我自己的价值观。但好在我已经逐渐纠正我了以前错误的观念,从而变得更加自信与谦虚。真正的敌人不是别人,而是我自己。

 

最后时刻提醒自己:

1.看提示特别留心数据范围、输入格式、数据是否同阶(n,m)、输入量有多大来确定是否需要用快读。

2.确定自己一定能获得的分数以及可能会获得的分数。

3.特别留心自己的空间,不要随便乱开空间,不要数组开小,把空间大小对应起来,可能的话减少无用状态。小心数据结构需要的空间。

4.如果可能,就对拍。一定注意对拍的数据范围,特别是最优化题、计数题的边界情况。答案若取模,首先考虑答案和mod的整数倍有没有关系。

5.不要写出含糊不清的代码。

6.当心变量重名、函数有没有返回值、小心数组越界。

7.不要尝试写复杂代码,除非走投无路了。

8.坚持到最后一刻,永远别放弃!

 

 posted on 2021-03-25 13:31  GreenDuck  阅读(135)  评论(0编辑  收藏  举报