线段树实现功能:
区间查找和更新
时间复杂度:
更新:O(logn)查找:O(logn)
线段树内存需要开四倍大小,切记!!!
为什么需要开到四倍?
https://www.cnblogs.com/FengZeng666/p/11446827.html
理论上是2n-1的空间,但是你递归建立的时候当前节点为r,那么左右孩子分别是2*r,2*r+1,此时编译器并不知道递归已结束,因为你的结束条件是在递归之前的,所以编译器会认为下标访问出错,也就是空间开小了,应该再开大2倍。有时候可能你发现开2,3倍的空间也可以AC,那只是因为测试数据并没有那么大。
原文地址:https://www.cnblogs.com/OFSHK/p/11997668.html
时间: 2024-10-11 05:31:24