萌新刚学2012−0712+(0x66ccff)16+(0712)8(1)21天OI,线段树求条
这题
代码问题出现在
这里
for(register int j=l;j<=r;j++){
if(a[j]<=1)
continue;
else
change(1,j,j);
}
和这里
void change(int q,int l,int r){
if(t[q].l>r||t[q].r<l)
return;
if(t[q].l==l&&t[q].r==r){
t[q].dat=sqrt(t[q].dat);
return;
}
change(lC,l,r);
change(rC,l,r);
t[q].dat=t[lC].dat+t[rC].dat;
}
感觉思路没太大问题,不会分块和树状数组
谢谢