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