区间可能很大l,r≤1018,区间修改,区间求和。请问离散化的时候怎么加入数组。
我的写法过不了自测数据qwq。
rep(i,1,Q){
scanf("%d",&q[i].op);
if(q[i].op==1){
scanf("%lld%lld%llu",&q[i].l,&q[i].r,&q[i].v);
}else {
scanf("%lld%lld",&q[i].l,&q[i].r);
}
//b数组用于离散化
if(q[i].l-1)b[++cnt]=q[i].l-1;
b[++cnt]=q[i].l+1;
if(q[i].r-1)b[++cnt]=q[i].r-1;
b[++cnt]=q[i].r+1;
b[++cnt]=q[i].l,b[++cnt]=q[i].r;
}
感觉离散化的有问题,不知道怎么改。