社区讨论

求助,本地Dev允许栈空间太小,如何增大?

学术版参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m3dqc1ai
此快照首次捕获于
2024/11/12 08:44
去年
此快照最后确认于
2025/11/04 14:53
4 个月前
查看原帖
在本地写树上问题时发现大样例RE了,是爆栈,但是不知道是什么问题,递归代码如下:
CPP
void dfs1(int x,int fa){
	f[x][0]=fa;cnt[x]=0ll;
	depth[x]=depth[fa]+1ll;
	for(int i=1;i<=20;i++){
		f[x][i]=f[f[x][i-1]][i-1];
	}
	for(int i=head[x];i;i=e[i].nxt){
		int v=e[i].to;
		if(v==f[x][0])continue;
		a1[v]=e[i].val1;a2[v]=e[i].val2;
		dfs1(v,x);
	}
} 
经本地测试,在主函数中调用如下 test()test() ,递归只能运行40000层左右就会爆栈
CPP
int u=0; 

void test(){
	u++;
	printf("u=%lld\n",u);
	test();
}
是本人的Dev有什么问题吗?

回复

2 条回复,欢迎继续交流。

正在加载回复...