处理lca时这么写是10分:
for(int i=1; i<=n; i++)
{
for(int j=0; j<20; j++)
{
fa[i][j+1]=fa[fa[i][j]][j];
w[i][j+1]=min(w[i][j], w[fa[i][j]][j]);
}
}
仅仅是将i和j颠倒过来之后就AC了:
for(int i=0; i<20; i++)
{
for(int j=1; j<=n; j++)
{
fa[j][i+1]=fa[fa[j][i]][i];
w[j][i+1]=min(w[j][i], w[fa[j][i]][i]);
}
}
这是怎么回事?