洛谷P4145 上帝造题的七分钟2 / 花神游历各国[ (线段树) 或 (树状数组+并查集) ]题解
题目:
线段树思路:
我是通过线段树来写的。
通过线段树维护两个值:区间最大值maxx和区间和sum
那么,该如何实现区间开方这个操作呢?答案是直接单点修改。
听起来有点不可思议,但是这种方法的可行的原因,是因为数据范围中,10e12的数字,最多经过6次的开方,就能到1。
又因为对于数字1,有sqrt(1)==1,所以对于到达1的数字,我们在区间修改中便可以跳过,只去修改其他的数字,根据这个结论,我们最坏的情况也只需要进行6*n次的修改。
那么,我们怎么跳过全部为1的区间?通过维护区间最大值线段树,如果这
原创
2020-07-16 19:28:52 ·
204 阅读 ·
0 评论