不知道vector的size是size_t类型

  • 因为是size_t所以直接加减会出错,比如减成负数的时候。

内层循环变量写错

  • 这个会导致外层循环少了几次

sort里面的数据范围没开正确

  • 例如要对n * m的数据排序,却只写了n

不看清读入顺序

  • 看清读入的是有序的还是乱序的,不要被样例蒙蔽了双眼

位运算不写ll

  • 区分以下代码的区别:
1
2
(1<<i) //得到int
(1ll<<i) //得到ll

特判不提前return

  • 特判不提前return的话会导致产生多个输出

    啊啊啊,我下次一定会记得写return的喵

答案有取余输出不额外取余

  • 输入万一本身就比mod大,自然是要取余的

提交时忘记去掉测试语句

  • 没招了,这是真防不胜防(\续标识)

注意乘法会不会爆ll

  • 只要用到了,先看看数据范围

注意使用ll类型的递归有概率爆栈空间

  • 要是没有返回,还是建议使用void,非常安全

输出时别输出vector的地址

比如:

1
2
3
vector<ll> a;
...
for(int i:a) printf("%d",a);

会得到一个神秘数字,这时你就知道是你输出了地址

数据存反

  • 输入的时候数据不要存反啊啊啊(猜猜这又是谁犯过的错误呢?)

数组是空的时候,别取back

  • 不然RE,等死吧

式子不喜欢加括号

  • 小心计算出浮点数导致WA