rt,P4979 矿洞:坍塌 写的 ODT
主函数中
while(m--){
cin>>inp;
int op=inp-'A'+1;
ll lx=read();
ll rx=read();
if(op==1){
//ll k=read();
//assign(lx,rx,k);
}
else{
set<node>::iterator itr=split(rx+1),itl=split(lx);
if(!(lx==1||rx==n)){
--itl;
if(itl->val==itr->val){
printf("No\n");
continue;
}
++itl;
}
set<node>::iterator itm=itl;
for(;itl!=itr;++itl){
if(itl->val!=itm->val){
break;
}
}
if(itl!=itr){
printf("No\n");
}
else{
printf("Yes\n");
}
--itl;
if(itm!=itl){
op=itl->val;
lx=itm->l,rx=itl->r;
s.erase(itm,itl);
s.insert(node(lx,rx,op));
}
}
}
被注释的部分加上会 re
,显示 Runtime Error. Received signal 6: Aborted / IOT trap.
void assign(ll l,ll r,ll x){
set<node>::iterator itr=split(r+1),itl=split(l);
s.erase(itl,itr);
s.insert(node(l,r,x));
}
应该是 assign
锅了,请问有什么会导致 assign
re
的原因,thx