[NOIP2017 考前胡写]一年以来犯的各种无脑错误与经验总结

  • Post author:
  • Post category:其他


一些常识

1. double会有精度误差,选








e


p


s











要适中

如果








e


p


s











过大显然会爆精度,如果选得过小会导致一系列神奇的问题。

当时在UOJ做去年NOIP的D2T3的时候被hack点卡精度,于是当时一个头脑发热就写出了

这里写图片描述

于是乎,就发生了美好的事情

这里写图片描述

还有一次是在某校打模拟赛,一道二分的板子题因为我eps过小就T掉了。。。

2. memset函数并不是O(1)的

RT,它贡献了我在初学点分的时候的大多数TLE

这里写图片描述

不当时一度以为我被卡常数了。。。

3. 注意模数以及数据大小

模数为1e9+7不代表中间过程不会爆int

还有就是数清楚到底有多少个0,别想都不想直接默认











10






9







+


7












以及











10






9







+


7











,











10






8







+


7











都是素数,但











10






7







+


7


=


941


×


10627










一些非技术性失误

1. 单词拼写

函数名拼错了还好,编译的时候会报错,但文件名要是拼错了那就真的GG了

2. 记得屏蔽掉调试用语

我亲眼见过一个同学的一个能AC的程序,因为没有屏蔽掉调试用的puts(“ok”),然后FST。

同样地,不该屏蔽掉的东西也不能随便屏蔽。还是在某校的另一场模拟赛,因为屏蔽掉了freopen然后一个80分的暴力直接挂掉

3. 明确变量的含义

有很长一段时间,树的题做多了之后再做一般图论问题,读图的那个循环我都会写成

for(int i=1,u,v;i<n;i++)read(u),read(v),add(u,v);

甚至有的时候








K




r


u


s


k


a


l











也会写成那样,然后就各种Debug……

4. 读入优化的负数与初始化
5. 对内存使用的正确估计

在做某数据结构的

网传

板子题的时候,因为把内存使用的上界估计小了导致数组没开够,然后各种RE。。。

6. bfs时候首元素要入队,取完之后记得pop

前半句导致我一个AC程序无限WA,后半句导致我一个AC程序又T又M

赛场上的相关事项

1. 注意时间分配,在保证有分之前千万不要死肛某一道题
2. 考完了不要对答案,不要上网交流
3. 不会做题别报复社会

去年有个同学不会做题然后写了一句

system("shutdown -f");

还好这对Linux并不管用。

最后呢还是预祝大家++rp



版权声明:本文为MegaOwIer原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。