常见错误总结
作为一名OIer,无论是蒟蒻还是神犇都难免会犯一些低级错误,而这些低级错误在考试时就有可能会让你从AC变成爆零。所以在考试时应当避免这类错误。在这里给大家总结一些常见的低级错误来与大家共勉。
一、文件类
1、许多OIer习惯在写代码前先写上文件操作然后注释掉,写完之后就经常会忘记删除注释。只是考场上常见的一种低级错误,不管你写的是正解还是暴力,最后的结果都是爆零。
2、考试时要注意题面第一页的文件要求,是独立文件夹还是都存在一个文件夹里。
3、文件操作最好不要写完第一个直接后两个都复制,这样如果第一个错了后面两个就都错了,重写两遍不费多少时间但却多了个保障。
二、限制类
1、写题之前要看好题目的空间、时间限制,特别要计算好空间限制,如果TLE了还能得部分分,但MLE了可就直接爆零了,计算空间时别忘了算上STL和栈空间,如果空间太大,宁可开小点拿部分分也别开的特别大最后MLE。
2、写题前还要注意是否开了O2或者C++11之类的,有的时候可能程序有问题但没开O2能过,开了O2就被卡。
3、有的函数名或者变量名是不能开的,比如<cmath>不能开x1、y1,再比如C++11不允许数组开next等等。
三、程序类
1、无向图要开双倍边,线段树要开四倍的点还有数组越界等等可能在对拍时因为对拍数据小而不会被发现的问题要特殊注意。
2、爆int是很常见的一类错误,在对拍时一般是无法发现的,需要通过数据范围或者答案范围来发现。
3、爆longlong在图论题中不常见,但在数论中经常有,有的可能要开unsigned longlong或者有的在中间过程爆longlong要快速乘。
4、一定要注意输出格式,是换行还是空格,空格在最后一个数后面有没有,这些都需要仔细读题来确认。
5、多组数据要初始化,同样不要忘记换行。
6、二分要注意边界的设置,网络流要注意建边的编号变量初始值是1.
希望这篇总结能给大家带来帮助,避免因为小细节而带来的不必要的失分qwq。