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