板子里面容易写挂的地方

普遍性错误

  1. 不加编译命令的vsc,int函数不带返回值是不会报错的,太坑。
  2. 双向边一定要开两倍空间。

线段树

  1. 查询和修改都要 pushdown
  2. build 里面要给 lr 赋初值 (+2)
  3. 查询的时候复制粘贴修改的代码时,记得还要加上 query
  4. 线段树2中 pushdown 下放乘法 tag 的时候 同样要记得先把加法 tag 乘上乘法 tag

倍增LCA

  1. Fa[x][20] 20 一定要写大一点,比如 30 ,否则枚举小一点,不然越界很麻烦
  2. 根节点一定要 dep=1 ,否则就会与 0 号节点同深度,出现问题(实际上树上倍增问题很大一部分都会因为根节点信息没处理好,导致在询问中有根节点的时候出错)

树链剖分

  1. 这个里面 dep 的初值是不是 1 无所谓,但是每个点 siz 一定要赋初值为 1 ,因为查询和确定重儿子的时候均会涉及到。
  2. 路径查询的时候比较的是重链顶端节点的深度,而不是当前节点的深度。

GCD

  1. 写成

    return y==0?x:gcd(y,x%y);//而不是return x%y==0?x:gcd(y,x%y);

Trie

  1. 0 号节点也需要清空。

平衡树

  1. 旋转之后不更新 size
  2. 初始化的时候不插入INF节点
posted @   Hanggoash  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
动态线条
动态线条end
点击右上角即可分享
微信分享提示