话说一开始做线段树看到这题想到应该就是所谓的二维线段树,于是就敲了一下,敲完3K多B之后提交TLE之后一直不知道怎么回事于是去找了相关代码来参考,发现查找,更新,建树的思想是一样,但是我SB了,竟然把左右子树的位置还记下来了,因为之前一直用的动态储存就是指针,所以数据结构中必须要有两个子树的指针,但是这次用了静态的数组来储存,所以习惯性的就把左右儿子的信息记录下来了,后来才发现根本不用的因为如果父节点是N,那左儿子的下标必然是2*N,右儿子下标也必然是2*N+1,因此把这两个变量去掉了,并且操作一律用位运算代替,然后提交发现欣喜的WA了,然后想到给的活泼度左值不一定小于右值,身高也是,于是乎很自然就判断了一下,结果还是WA,然后再仔细看,发现建树的时候SB,因为活泼度的值是从0-1000的我却建树的时候用了1-1000然后把1改成0就A了,140ms不算太快也不算太慢!!线段树的确是个神物!!!必须要好好练习!!
HDU1823二维线段树+易错点
最新推荐文章于 2020-03-10 14:07:43 发布