http://acm.hust.edu.cn/vjudge/problem/459695/origin
与hdu 4027相似
http://blog.csdn.net/viphong/article/details/52213746
4027是区间开方,但是没有修改操作,由于数最大也就是个int,开几次之后就会变成1,因此每次开方就暴力去开,遇到区间都为1的就跳过。
但是本题有个区间加的操作。
线段树维护add,sum,max,min四个标记
如果某段区间的max==min,则说明整段区间都是一样的数,则可以同时对其进行操作(Olgn)
当区间极差>1的时候,我们暴力更新O(n),对于这种区间,经过多次1,2操作之后,最后极差一定稳定在0或1 (玄学,不会证明)
当区间极差==1的时候,我们也可以整段维护,(Olgn)
#include
#include
#include
#include
#include
#include
#include
#include