求助爆栈原因
  • 板块学术版
  • 楼主mayike
  • 当前回复22
  • 已保存回复22
  • 发布时间2024/3/13 21:27
  • 上次更新2024/3/14 09:43:51
查看原帖
求助爆栈原因
1039406
mayike楼主2024/3/13 21:27

对于这个函数,把任一注释删掉就会爆栈,不清楚原因

void dfs(int u,int fa){
	int tot=0,cnt=0,maxn1=0,maxn2=0,sum=0,ab=0;
	cout<<114514<<"\n";
	int js[N]={0};
	for(int v:e[u]){
		if(v==fa)continue;
		tot++,dfs(v,u);
		js[++js[0]]=max(f[v][0][2],f[v][1][2]);
	}if(!tot){
		f[u][0][1]=f[u][1][1]=0,f[u][1][2]=f[u][0][2]=a[u];
		return;
	}
//	sort(js+1,js+1+js[0]);
//	for(int i=js[0];i;i--)
//		if(i>=js[0]-1||js[i]>=0)sum+=js[i],ab=i;
//	if(js[0]>=2&&fa!=-1)f[u][0][2]=sum+a[u];
//	if(js[0]>=3&&ab>js[0]-2)sum+=js[ab-1];
//	if(js[0]>=3)f[u][0][1]=sum+a[u];
//	else f[u][0][1]=0;
//	if(js[0]>=2)f[u][1][1]=max(0*1ll,js[js[0]]+js[js[0]-1]);
//	if(js[0]>=1&&fa!=-1)f[u][1][2]=js[js[0]];
}
2024/3/13 21:27
加载中...