容易犯错的点

  • 没开 \(long\ long\)

  • 输入区间时,要判断是否 \(l<=r\),如果 \(l>r\),记得 \(swap\)

  • 取模要模够,切忌 ans+=……%MOD

  • \(Floyd\) 无路要标记为正无穷。

  • 多测变量要清空,输出要换行。

  • 多测清空不要轻易用 \(memset\)

  • 数组开得不够大。

  • 数组越界。

  • 数组下标出现负数。

  • 分段时判断条件不要写错。

  • 线段树数组开 \(4\) 倍,链式前向星无向图数组开 \(2\) 倍。

  • max min y0 y1 time next不能作为变量名。

  • 如果递归前存储的变量递归后还要用,要开局部变量(如果开全局变量,递归下一层时会修改变量的值)。

  • cin cout关闭同步流后不能与scanf printf混用。

  • debug 时不要只盯着自己认为错的部分,有可能错的是其他部分。

  • 0 作除数。

  • \(\gcd\) 要写return y?gcd1(y,x%y):x;而不是return x%y==0?y:gcd1(y,x%y);,因为后者如果 \(y=0\)\(\text{RE}\)

  • \(O2\) 自定义函数如果类型不是 void 同时没有 return\(\text{RE}\)

  • 输出是 YesNo 之类的题输出时检查大小写是否写错。

  • 注意多重循环别不小心用重循环变量,当多组测试数据但不是使用 while(t--) 的时候更要小心。

  • 没说就是有可能重边自环。

posted @ 2024-07-24 07:46  MinimumSpanningTree  阅读(16)  评论(0)    收藏  举报