const int POW = ;
void dfs(int u,int fa){
d[u]=d[fa]+;
p[u][]=fa;
for(int i=;i<POW;i++) p[u][i]=p[p[u][i-]][i-];
int sz=edge[u].size();
for(int i=;i<sz;i++){
int v=edge[u][i];
if(v==fa) continue;
dfs(v,u);
}
}
int lca( int a, int b ){
if( d[a] > d[b] ) a ^= b, b ^= a, a ^= b;
if( d[a] < d[b] ){
int del = d[b] - d[a];
for( int i = ; i < POW; i++ ) if(del&(<<i)) b=p[b][i];
}
if( a != b ){
for( int i = POW-; i >= ; i-- )
if( p[a][i] != p[b][i] )
a = p[a][i] , b = p[b][i];
a = p[a][], b = p[b][];
}
return a;
}

最新文章

  1. iOS 疑难杂症 — — 推送本地国际化 loc-key 本地化失败的问题
  2. 干货|宏巍软件之Java线程监控之旅
  3. C# 实现单实例程序
  4. 配置Log4j(很详细)
  5. base64coder调用
  6. dubbo 解决Multicast java.net.SocketException: No such device
  7. [笔记]--在Windows下配置Git
  8. 10行Python代码解决约瑟夫环(模拟)
  9. PHP数组函数相关
  10. IOS开发网络篇之──ASIHTTPRequest详解
  11. Event 元标签中的代码提示问题
  12. angularjs不同页面间controller传参方式,使用service封装sessionStorage
  13. 关于ligerform中select与text的赋值与取值
  14. CXF_Spring_Rest
  15. gridContro使用随记
  16. Web缓存(一) - HTTP协议缓存
  17. 关于Mybaits10种通用的写法
  18. OI骗分神器——模拟退火算法
  19. EOS 开发终极神器-vscode (你绝对找不到的干货)
  20. ML平台_饿了么实践

热门文章

  1. python-request模块--安装
  2. 16-python基础-字典
  3. iView Card 图文组件
  4. JS获取图片的原始宽度和高度,兼容IE7,8
  5. vue+Mint-ui实现登录注册
  6. CSP 初赛复习 密码
  7. 08-03-re-模块
  8. Java打war包or打jar包
  9. bzoj1098题解
  10. CF1016F 【Road Projects】