- 注意n,m的区别。
- long long数组1e7级别容易炸空间,注意数组的个数。
- 数组范围注意是否要乘常数大小。
- 注意变量爆long long甚至爆unsigned long long的情况。
- ++/–和连等注意优先级,最好不要同时使用。
- 分数相加通分时最好求最小公倍数而非直接相乘。
- 求最小公倍数时最好先除后乘。
- 多关键字排序时考虑清楚第二、第三关键字的顺序,它们往往更容易出错。
- 三分时注意取等时的情况,最好特别考虑每次的边界。
- 哈希最好使用双哈希或三哈希。
- 图上遍历时不仅考虑点的遍历次数,还要考虑枚举边的复杂度。
- 点分治要减去同一棵子树路径组合的答案。
- 数论题与互质相关要特殊考虑1。
- 看清模数是多少。
- 需比较大小时不能取余。
- 取余的同时要考虑到负数的情况。
- 计数题乘上的数本身可能大于模数,本身需要先取余一次。
- 莫比乌斯函数注意要赋μ[1]为1.
- DP记录状态判断当前状态局部最优是否是全局最优。
- DAG要注意入度为0的点会有多个。
- 并查集取用当前父亲时要再递归沿着father边跳一遍。
- 注意特殊输出格式,如输出若干个数换一次行。
- 时间允许的话单峰函数求最值没必要化简用不等式计算,可以直接三分。
- manachar维护的回文串是右端点最右的,不是最长的。