lca

来源:互联网 发布:做淘宝需要多少钱 编辑:程序博客网 时间:2024/05/22 02:23

最近公共祖先。

#include<iostream>using namespace std;int jump(int u,int step){    for (int k=0 k<=20 k++) if (step&(l<<k)>0) u:=f[u][k];    return u;}int lca(int u,int v){    if (deep[u])<deep[v]) swap(u,v);    u=jump(u,deep[u]-deep[v]);    for (int k=20;k>=0; k--)  if (f[u][k]!=f[v][k]) u=f[u][k],v=f[v][k];    return u==v?u:fa[u];}int main(){    lca;}
0 0
原创粉丝点击