记录一些OI中遇到的低级/玄学错误

版权声明:转载请注明原出处啦QAQ(虽然应该也没人转载): https://blog.csdn.net/hzk_cpp/article/details/83241450

1.在POJ2976的小数输出中,遇到POJ上C++与G++的输出不同,记住以后在POJ上要用%f输出小数,或者直接用C++编译器.

2.在BZOJ2200的最短路无解判定中,遇到了负权最短路无解的点的距离小于INF的情况,这个时候要判定比INF/2小.

3.在tarjan算法求割边的已经过判定中,忽略了tarjan算法重边的情况,判定一条边是否要遍历时,判断了这条边是否是返回父亲的,其实应该判定是否经过这条边.

4.在CH2601的双端队列BFS更新中,忽略了一个状态可能被更新多次的问题.

5.在BZOJ3083的倍增向上爬的过程中,由于贪图方便将i>=0写成了i,导致调了很久...

6.在SPOJ GSS7这道题的链修改过程中,由于忽略了可以改成0的情况,从而直接使用一个变量当tag,导致WA了很久都不知道原因.

7.在SPOJ GSS8这道题的杨辉三角预处理组合数中,由于忘了调用start预处理函数,导致组合数数组都为0,调了两天.

8.在国家集训队 Tree II这道题的判断乘法标记中,忽略了乘法标记等于0的情况,将mul^1写成了mul>1,导致WA.

9.在day2018.10.21的一场模拟赛中,我写了三个5000^2的long long数组而MLE了,一般int只能开最多5000^2的数组,long long只能开最多4000^2的数组.

10.在BZOJ1912求树的直径时,没有注意到有负权边的树的直径不能使用两遍bfs求直径而导致WA,第二次求树的直径应该使用树上DP求树的直径.

11.在NOIP2012疫情控制的贪心判定中,没有注意到无法到根再返回且子树已经被覆盖的军队不应该留在原处,导致WA调了2天.

猜你喜欢

转载自blog.csdn.net/hzk_cpp/article/details/83241450