常见错误合集

不定期更新 咕咕咕qwq

  1. 链式前向星循环条件中要写nxt 而不是to

  2. 树状数组中要写\(i+=lowbit(i)\) 而不是\(i+=lowbit(x)\)

  3. 树中查找要写\(l,mid\)而不是\(1,mid\)

  4. ** 二分答案的时候\(else\)不能忘(?什么sb错误) 且上下界一定要照好**

  5. 树中区间查询必须是\(x\le mid\)\(mid+1\le y\)而不是\(mid+1\le r\)

  6. 宏定义打括号要多打

  7. 时刻取模

  8. 递归查找的时候主函数名和递归下去的函数是一样的 不能前面max后面sum

  9. 线段树中需要看好 返回条件是这个区间被目标区间完全覆盖 \(x \le l \le r \le y\) 而不是这个目标区间完全覆盖了这个区间

  10. tarjan缩点当中需要注意dp的初始值

  11. 最短路中定义队头和对尾需要在插入数据之后

  12. dij中需要小根堆 那么\(greater<pii>\)必不可少 同样还有\(vector<pii>\)

  13. 最短路从源点\(s\)开始 而不是从任意一个点开始

  14. memset需要慎用

  15. 建树!!!!!!!!!!!!!!!

  16. dijkstra不能用pair!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  17. 线段树查询的时候需要特判区间中\(x>y\)的情况

  18. 7.6upd:强烈建议去做cf1771f 排雷好题

    • mid的写法为(l+(r-l)/2) 而不是((l+r)>>1) 一用就炸(upd:(l+r>>1)貌似也行?)
    • 异或和不等号连用 异或必须打括号
    • 一坤时得出两个教训 警钟撅烂
  19. \(1h\)的教训:\(vector\)离散化需要\(erase\)后面的元素或者\(resize\)大小为\(sz\) 因为去重后\(vector\)不会自动缩减大小

  20. 字典树清空的时候不要忘记 \(0\) 节点 不能直接用 \(memset\) 清空

posted @ 2023-03-17 00:47  Echo_Long  阅读(68)  评论(0编辑  收藏  举报