当前位置: 首页 > news >正文

【图论】倍增与lca

void dfs(long u,long father){
dep[u]=dep[father]+1;//只在这里初始化depfor(long i=1;(1<<i)<=dep[u];i++)fa[u][i]=fa[fa[u][i-1]][i-1];//只这里用的倍增for(long i=head[u];~i;i=edge[i].next){long v=edge[i].to;if(v==father)continue;fa[v][0]=u;dfs(v,u);
}}
long lca(long x,long y){
if(dep[x]<dep[y])swap(x,y);for(int i=20;i>=0;i--){//跳到同一个深度if(dep[fa[x][i]]>=dep[y])x=fa[x][i];if(x==y)return x;
}for(int i=20;i>=0;i--){if(fa[x][i]!=fa[y][i]){//一起跳x=fa[x][i];y=fa[y][i];}
}
return fa[x][0];
}

提单1
题单2

Head out to the Target

http://www.dtcms.com/a/295211.html

相关文章:

  • Avalonia 基于MVVM的时间统计/系统时间显示 示例
  • EPSON爱普生全系列废墨垫已满清零工具分享附教程下载
  • EasyExcel 模板导出数据 + 自定义策略(合并单元格)
  • 基于深度学习的胸部 X 光图像肺炎分类系统(三)
  • Turbo Intruder 并发插件无法试用--更换新版Burpsuit解决(简单解决安装、破解问题)
  • 开源Qwen凌晨暴击闭源Claude!刷新AI编程SOTA,支持1M上下文
  • 跨境支付入门~国际支付结算(结算篇)
  • AtCoder Beginner Contest 415(ABCDE)
  • `neutron router-gateway-set` 操作失败的可能原因及解决方案
  • 深度分析Java多线程机制
  • 【智能协同云图库】智能协同云图库第六弹:空间模块开发
  • 微服务的编程测评系统6-管理员登录前端-前端路由优化
  • 【开源】WPF的数据可视化大屏解决方案——WpfMap
  • 洛谷 P11378 [GESP202412 七级] 燃烧-普及/提高-
  • fdbus4.2 timer的使用
  • AI时代,我的编程工作搭子
  • ospf单区域实验
  • Windows批量工具,直接起飞!
  • 外部存档(External Archive)机制
  • MNIST 手写数字识别模型分析
  • 无人机电池通讯接口应用:CANFD工业级芯片的选型与技术要点
  • 跨境支付入门~国际支付结算(稳定币)
  • 事务的特性 - ACID
  • 游戏装备被盗,运营商赔不赔
  • 算法牢笼与思想飞地:在人工智能时代守卫灵魂的疆域
  • gig-gitignore工具实战开发(二):设计多源模板系统
  • Python--Tkinter--标准 GUI 工具包
  • 常用的Typescript特性
  • Python进阶知识之pandas库
  • 【OpenCV篇】OpenCV——02day.图像预处理(1)