挂分小技巧:
- 计数题没开
long long
- 快速幂底数没取模爆
long long
- 对快速幂指数取模
- \(dp\) 省去一维后没有反向
- \(check\) 函数内一种情况不行直接
return 0
- 把默认堆(大顶堆)当成小顶堆
- 区间 \(dp\) 的断点 \(k\) 取到了 \(r\),导致 \(k+1>r\)
- 环形 \(dp\) 没开双倍空间
- 栈没放标兵
- 无向图没开双倍空间
- 用 \(dijkstra\) 求最长路
- 取模没消负号
- 多测不清空
- 滚动数组不清空
- 宏定义不加括号
- 位运算不加括号
- 不备份会被修改的数组下标
getchar
读回车- 打比赛死磕正解不打暴力
- 差分约束边建反
- 对空 \(vector\) 取下标 \(size-1\)
- 数组轻微越界导致未定义的 \(WA\)
- 数组严重越界导致未定义的 \(TLE\)
- 没开
long long
导致未定义的 \(RE\) - 模拟队列
l++
和r--
前没判l<=r
- \(1\sim n\) 遍历 \(vector\)
- 维护序列插入没开大空间
- 开数组 \(a[M][N](M<N)\)
应是a[N][M] - 树剖建的线段树从
root
开始build
dp
转移没判掉INF
导致统计答案时!=INF
的条件失效- 坐标为 \(0\) 的二维前缀和没 \(+1\) 处理
- 对最大流反悔边流量赋 \(-w\)
- 对费用流反悔边费用赋 \(0\)
- \(Floyd\) 按 \(ijk\) 循环
应是kij - 重载 \(>\)
- 双向边删边不删反向边
- \(DLX\) 的
recover
和remove
同向遍历 - 断环成链遍历 \(1\sim 2\times n\)
要-1 - 用
abs
取小数绝对值 - \(10^8\) 用埃氏筛
- \(10^9\) 的数值赋
0x3f3f3f3f
的\(INF\) - \(\div 0\) 或 \(\times 0^{-1}\)
- 以为 \(bitset\) 的
<<
和>>
复杂度是 \(O(1)\) - \(manacher\) 没开双倍空间
- 哈希值加法 \(\% 131\)
- 对只有一个数的数组差分
- 拓展 \(kmp\) 没清空 \(z\) 数组
- 树上差分不特判
fa[lca]!=lca
- 双向边改边权不改反向边
- 随机化没
srand
- 线段树合并开四倍空间
应是logn倍空间 - 有负数的 \(dp\)
memset(dp,0,sizeof(dp));
- \(kruskal\) 重构树没开双倍点空间
- \(dijkstra\) 在第一次入队时标记 \(vis\)
- 式子不拆
- 打比赛默认正序开题
- 扫描线算面积并直接将原区间作为线段树对应区间
- 扫描线算面积开四倍空间