实现错误记录

  • 比较函数定义不严格,存在返回相等但是实际上有区别的情况。这可能导致双堆维护删除操作时出现问题。(应当同时弹栈但是栈顶元素不相等)
  • for (int i = 1; i <= n; i++) a[n] = inf
  • 在一些回溯时需要撤销操作的 dfs 中,因为其他原因 return 的时候没有撤销操作。
  • 循环/if 里层外层变量名混淆。
  • 进行 dfs / 递归时,因为使用全局变量下层 dfs 时破坏了上层之后要用到的信息。
  • 容斥时,只枚举了集合大小忘记了乘组合数。
  • 插头 dp 不要忘记连接两个左括号或者连接两个右括号的情况。
  • 树链剖分时,询问链的时候一定要注意是比较重链顶端深度大小,不能直接比较两个点深度大小。
  • sort 时忘记加比较函数。
  • 维护矩阵乘法时左乘右乘搞错。
  • 线段树合并时,如果要可持久化,空间要开两倍。