现在发现大部分问题并不是想不起来,而是写的时候慢慢就忽略了,所以要时刻保持清醒的头脑。
目前合计:(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)。
- 处理的时候把数组翻倍,忘记更改数组大小,比如断环成链。