===== 做每一道题时 ===== * 读题一定要把样例画一下。 * wjj不要帮人抄漏抄错模板 * 写题之前先用算法过样例,中间过程的值记录,模拟题打表先手写好 * 不测样例提交 zzh*1,dyx*1,wjj*1 * 交题之前先看一遍代码(数组大小,变量名,函数数组嵌套,typo) * 听别人喂题之后,自己看一遍题 * 读题要把所有东西(input output 数据范围 note 等)全读完才讨论,注意有的sb题note跑到第2页去了 * $n,m$ 不要打反 ===== 比赛中每半个小时检查 ===== * 不要死磕一道题 * 不要单纯跟榜,可以尝试没有人通过的题 * 2小时后是否读完所有题目? * 大家情绪保持稳定,不要紧张,不要暴躁 * 封榜后不要多开 * 永远永远不要总是死盯着代码,看不出来的 ===== 如果找不到错时 ===== * wa,且找不到bug时及时对拍 * 清空数组 * 自己读一遍代码,一行一行地看 * 给队友讲一遍代码,一行一行地讲 * 边界没考虑清楚 * ans 的初始值 * dyx 不要少取模 * 堆式线段树不是完全二叉树(国内定义),是完全二叉树(国外定义)。 * **无符号数参与比较时一定要小心,因为它会把有符号数隐式转换成无符号数。** * 忘记删暴力 ''%%check%%'' 导致 ''%%TLE%%'' * 死循环、读入错误(而非卡常)导致的 ''%%TLE%%'' * ''%%cache miss%%'' 导致的 ''%%TLE%%'' * 取模的情况下,比如说我们要 $dp$ 个数和和,为了卡常可能在 $dp$ 为 $0$ 时直接 ''%%continue%%''。这个时候一定要同时判一下个数和和是否均为 $0$。显然可能存在个数(取模)为 $0$,但是和不为 $0$ 的情况。 * 快速幂降幂时,需要注意 $0^{0}$ 的情况,例如 $0^{mod-1}$ 的结果显然应该是 $0$。 * 是否爆 ''%%int/long long%%'' * 调试语句是否删除 * 有的取模题分母是否为 $0$ 要好好分析,有时还真可能为 $0$ * 题目样例不能调试时,自己造数据