默笙の挂分小技巧

发布时间 2023-08-23 20:06:20作者: Mo默Sh笙

挂分小技巧:

  • 计数题没开 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\)recoverremove 同向遍历
  • 断环成链遍历 \(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\)
  • 式子不拆
  • 打比赛默认正序开题
  • 扫描线算面积并直接将原区间作为线段树对应区间
  • 扫描线算面积开四倍空间