LCA - Tarjan 算法

时间:2023-03-08 20:19:30
LCA - Tarjan 算法
 void dfs(int u)
{
for(int i = ; i <= n; i++)
{
if(visit[i]&&ask[u][i])
{
LCA[u][i] = Find(i);
}
}
visit[u] = true;
for(int i = ; i < g[u].size(); i++)
{
int son = g[u][i];
dfs(son);
father[son] = u;
}
}

理解:   求 u和v的lca rt

在dfs->rt 过程中 将u不断的上提使他的father为rt  再访问v的时候就知道了答案  大概就是这样  233