NOIP/CSP常见错误合集

现在发现大部分问题并不是想不起来,而是写的时候慢慢就忽略了,所以要时刻保持清醒的头脑。

目前合计:(28) 条。

  • 不易察觉的小数据范围要开 (longlong)(如答案求累加)。
  • 整体开 (longlong) 过程量忘开爆掉。
  • 数据范围随手抄错(数组开小简直太尝龟了)。
  • 多次操作队列忘记清空。
  • 多组数据数组忘记清空(现在主要是清空不彻底了...)。(mathtt{(PS:md今年CSP-S被这个搞掉90pts)})
  • 忘记排序。
  • (n,m) 写反。
  • 线段树范围*4。
  • 图论范围为 (n*m)(点*每个点连的边数)。
  • (bool) 类型 (flag) 赋了其他值,例如 (flag) 取值为 (1,2) 时就会挂掉。
  • 忘写 q.pop();
  • 忘记 return/break
  • 位运算过程中绕晕。
  • 线段树忘记建树,同理其他初始化函数忘记调用。
  • 写成 (x+=y\%mod)
  • (longlong) 类型 (\%d) 输出。
  • 单调队列 (l,r) 和其他的变量弄混,或者是没放在 (q[ ]) 里面作为下标。
  • 队列左右端点忘记初始值 (l=1,r=0) 表示空队列,常见于莫队和单调队列。
  • 与上一条对应,队列初始化忘记放入一个元素 (0) ,表示从 (0) 开始转移。
  • 字典树忘记初始化 (tot=1)
  • KMP 所有的 (i) 相关转移本质都是 (i+1)
  • 树上对应区间的 (dfn) 数组忘记嵌套,常见于线段树的修改/查询区间。
  • 懒标记忘记清空。
  • 存边的数组开的和点数一样大,俗称 (n,m) 不分。
  • 遍历树求 (dep)(u,v) 写反,也就是写成:(dep_u=dep_v+1)
  • 记录类似 (lst,nxt) 数组时,不要忘记考虑为 (0) 的情况!在线段树或者树状数组里可能会死循环!
  • break/return 时记得看看是否有其他操作没进行完!
  • 自己根据题目发挥的写法处理边界等等一定要小心小心再小心!!
  • 取模的时候出现减法一定不要忘记加模数!!
  • 同时开了全局变量和局部变量,用的时候全局变量还是 (0)
  • 处理的时候把数组翻倍,忘记更改数组大小,比如断环成链。
原文地址:https://www.cnblogs.com/conprour/p/14725739.html