不明RE求助
  • 板块学术版
  • 楼主Dream_weavers
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/4/5 15:34
  • 上次更新2023/10/28 04:32:21
查看原帖
不明RE求助
572482
Dream_weavers楼主2022/4/5 15:34
Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.

上面的啥意思?下面是代码(有点像校门外的树),是一道团队比塞题,全RE求助

#include<bits/stdc++.h>
#define int long long
using namespace std;

const int N=2e5+5;
int n,m,ans;
struct node{
	int l,r,tag;
}tree[N<<2];

inline int lc(int x){
	return x<<1;
}
inline int rc(int x){
	return x<<1|1;
}
void build(int x,int l,int r){
	tree[x].l=l;tree[x].r=r;tree[x].tag=1;
	if(l==r)return ;
	int mid=(l+r)/2;
	build(lc(x),l,mid);
	build(rc(x),mid+1,r);
}

void cut(int x,int l,int r){
	int mid=(tree[x].l+tree[x].r)/2;
	if(tree[x].tag!=1||tree[x].tag!=-1){
		tree[lc(x)].tag=tree[rc(x)].tag=tree[x].tag;
	}
	if(tree[x].l==l&&tree[x].r==r){
		if(tree[x].tag==0)return;
		else if(tree[x].tag==-1){
			tree[x].tag=0;
			cut(lc(x),l,(l+r)>>1);
			cut(rc(x),(l+r>>1)+1,r);
		}else {
			tree[x].tag=0;
			ans+=(tree[x].r-tree[x].l)+1;
		}
	}else{
		if(r<=mid) cut(lc(x),l,r);
		else if(l>mid) cut(rc(x),l,r);
		else{
			cut(lc(x),l,mid);
			cut(rc(x),mid+1,r);
		}
		if(tree[lc(x)].tag==tree[rc(x)].tag) tree[x].tag=tree[lc(x)].tag;
		else tree[x].tag=-1;
	}
}

void plant(int x,int l,int r){
	int mid=(tree[x].l+tree[x].r)/2;
	if(tree[x].tag!=1||tree[x].tag!=-1){
		tree[lc(x)].tag=tree[rc(x)].tag=tree[x].tag;
	}
	if(tree[x].l==l&&tree[x].r==r){
		if(tree[x].tag>=1)return;
		else if(tree[x].tag==0){
			tree[x].tag=2;
		}
		else{
			plant(lc(x),l,(l+r)>>1);
			plant(rc(x),(l+r>>1)+1,r);
		}
	}else{
		if(r<=mid) plant(lc(x),l,r);
		else if(l>mid) plant(rc(x),l,r);
		else{
			plant(lc(x),l,mid);
			plant(rc(x),mid+1,r);
		}
		if(tree[lc(x)].tag==tree[rc(x)].tag) tree[x].tag=tree[lc(x)].tag;
		else tree[x].tag=-1;
	}
}

signed main(){
	int op,x,y,k;
	scanf("%lld%lld",&n,&m);
	build(1,1,n);
	while(m--){
		scanf("%lld%lld%lld",&op,&x,&y);
		if(x>y)swap(x,y);
		if(op==1)cut(1,x,y);
		else plant(1,x,y);
	} 
	printf("%lld",ans);
    return 0;
}
2022/4/5 15:34
加载中...