关于本题内lca初始化的求助
查看原帖
关于本题内lca初始化的求助
559602
ganjihao楼主2024/8/16 20:38

如果我lca的f[u][i]初始化这么写就会WA:

void init(int u)
{
	dep[u]=dep[f[u][0]]+1;
	for(int i=1;i<M;i++)f[u][i]=f[f[u][i-1]][i-1];
	for(int i=0;i<e[u].size();i++)
		init(e[u][i]);
}

但我将f[u][i]的初始化放在主函数中用循环来初始化就能AC了:

int main()
{
	...
   for(int i=1;i<M;i++)
	for(int j=1;j<=n;j++)
   	    f[j][i]=f[f[j][i-1]][i-1];
   ...
}

请问这是什么原因?

2024/8/16 20:38
加载中...