智障错误盘点

  • ==写成=,或将=写成==
  • 数组开小……
  • 线段树下传标记时顺序或标记出错
  • 定义的结构体之间赋值是和结构体里的元素个数有关的(\(O(n)\)),不是\(O(1)\)
  • 结构体的成员函数的参数如果使用该结构体类型(比如定义了一个node的结构体,有一个成员函数update(int l, int r, node x))好像会出问题(可以编译,但Windows下会RE)
  • 模数写错(一定要看清楚)
  • 有关矩阵,长和宽、横坐标和纵坐标一定要分清楚
  • 线段树不要忘了初始化(建树),不要写了build却没加进主函数里……
  • 减法取模时要(a - b + mod) % mod
  • 多取模,宁愿常数大一些也要多取模
  • vectorsize函数的返回值是vector::size_type,一般情况下等同于size_tsize_tsizeof(x)的返回值类型,依实现定义的,一般情况下32位系统是uint,64位系统是ull。所以用q.size() - 1的时候要小心q.size() == 0然后溢出的情况
  • Dev-C++不能调试时,可以在编译器选项中加入-g,单击调试,弹出对话框“项目没有调试信息……”时,单击No就可以了 也可以直接用gdb调试
  • 在Dev-C++的编译器选项中加入-Wall可以看到更多的warning
  • rank是某个库里的函数名,用rank做变量名或函数名会CE
posted @ 2019-11-15 07:29  MorsLin  阅读(152)  评论(0编辑  收藏  举报