for(int i=1;i<=n;i++)
for(int j=1;j<=30;j++);
这份代码的复杂度是 O(n)
但
void dfs(int x,int fa){
d[x]=d[fa]+1;
f[x][0]=fa;
for(int i=1;i<=30;i++)
f[x][i]=f[f[x][i-1]][i-1];
for(int i=beg[x];i;i=nex[i]){
int y=to[i];
if(y!=fa)
dfs(y,x);
}
}//这是对于一棵树的倍增预处理
这份代码的复杂度是 O(nlogn)
所以我突然迷惑了,有无神仙解答一下