常见Bug总结

这个blog是经常犯的小错误的总结, 避免这种错误的发生

  1. 数组正好开在n的最大值, 如果数据在n的话会被卡掉一些分数, 差不多开在 maxn+10 左右。
  2. 在dfs的时候剪枝要经过考虑, 不然很可能会剪掉一个正确的答案
  3. 对浮点数操作的时候一定要小心, 不然很有可能丢失精度
  4. 在用 printf 或者 scanf 的输入输出的时候, 一定记得吧格式符换成对应的, 比如 longlong 在 win 下 和 linux 下的差异
  5. topsort或者其他图论题中, 如果需要维持队列的话, 记得要把堆顶弹出, 防止出现死循环的情况发生。
  6. 全局变量与函数内部变量冲突, 出现一些不很好找的Bug
  7. 矩阵中n,m的顺序尤其是样例中n=m的情况会导致即使你把nm搞反了但是还是能过样例的情况发生
  8. 最短路的时候dis数组的初值
  9. if中判断 == 写成 = 不会报错, 但是会很浪费时间来照这个小错误, 不容易发现的错误
  10. 在define后面加 ‘;’