为了方便debug, 统计的经常在自己身上出现的bug
- 循环时
i
,j
混用 ,比如外层循环是i
,内层循环是j
。数组元素极有可能混用下标,原本用到j
的却用到i
- 函数返回值和实际传的返回类型不一致,导致溢出。递归函数中较常见
printf()
对long long
类型应采用%lld
- 递归函数中修改全局变量需谨慎
- 背包问题注意数组范围不要开小
- 几何问题的精度 想办法用位置关系来重新描述,减少精度误差
- 模0 或者除以0保存,运行错误
- 利用位运算来进行条件控制,注意语义
for
循环的判断条件或者步长出错,有可能导致 无限循环或运行出错- 动态规划问题的循环次序,统一在当前状态枚举之前,将需要的子状态都枚举一遍,不要一边枚举一边传播
- 循环时提前退出循环,如果是一边进行输入,一边循环,退出后记得清空剩余的输入(多组数据,不读完就结束)
- 多组数据,数组的初始化
- 数据范围,看到1e9可能会忽然想到要开
long long
,但是看到数据不大于1e5,1e6放松了警惕(没想到我会有两数相乘吧).写完代码之后,对进行的运算最好估计一下范围(如果能想起来)
不知道其他人还犯过什么奇特的错误,请务必留言,防止踩坑
不开
long long
见祖宗确实,容易忽略
多组数据,不读完就结束
数组不清空
wow~ ⊙o⊙