求助 assign 操作
  • 板块学术版
  • 楼主zhengzidu
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/10 10:20
  • 上次更新2024/9/10 10:28:27
查看原帖
求助 assign 操作
954640
zhengzidu楼主2024/9/10 10:20

rtrtP4979 矿洞:坍塌 写的 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 的原因,thxthx

2024/9/10 10:20
加载中...