P4556 [Vani有约会] 雨天的尾巴 /【模板】线段树合并
- 线段树中节点的数量取决于insert的数量
- merge函数内本质是修改节点的属性(sum,lc,rc),并没有新增节点
- 每调用一次insert,就有一条从根走到叶子节点长度为\(logn\)的路径,就会新建\(logn\)个节点
- insert一共被调用了\(4m\)次,故线段树开\(4nlogn\)
- 使用树上差分时,注意lca和lca的父亲是减法,不能跟两节点x、y一样做加法
- 线段树合并需要多棵线段树在同一个数组内,否则“return py”向一个数组返回了另一个数组的下标,无意义
- 小技巧:一个线段树数组中可以通过保留多个根节点,在同一个数组中开多棵线段树。还省空间,每棵线段树的空间是动态的。