倍增

倍增法可以有很多变化。1.用data[i][j]记录从i到他的第2j个父亲的路径长度,就可以边求LCA边求出两点距离,因为data[i][j]满足倍增的递推式:data[i][j]=data[i][j-1]+data[fa[i][j-1]][j-1]。2.用maxlen[i][j]记录i到第2^j^个父亲的路径上最长边的边权,它满足…

大家好,又见面了,我是你们的朋友全栈君。

倍增法可以有很多变化 。

1.用 data[ i ][ j ]记录从i 到他的第2j 个父亲的路径长度,就可以边求LCA边求出两点距离,因为data[i][j]满足倍增的递推式:

data[ i ][ j ]=data[ i ][ j-1 ]+data[ fa[i][j-1] ][ j-1 ]

2. 用maxlen[ i ][ j ]记录i到第2^j^ 个父亲的路径上最长边的边权,它满足

maxlen[ i ][ j ]=max{ 
   maxlen[ i ][ j-1 ],maxlen[ fa[ i ][ j-1] ][ j-1 ] }  

可以快速求两点路径上最长边的边权

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127055.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • curd php,laravel通用化的CURD的实现

    curd php,laravel通用化的CURD的实现说明非常高效的处理laravel中curd的操作安装composerrequireshencongcong/laravel-curd~1.0laravel项目的config/app.php注册ServiceProvider’providers’=>[//…Shencongcong\LaravelCurd\LaravelCurdServiceProvider::class…

    2022年10月31日
  • java学生宿舍管理系统代码(java简单宿舍管理系统)

    分为三大类land.java(登陆界面)system.java(系统管理界面)sql.java(数据库操作,包括连接、断开、增删改查等操作)一、登陆界面及代码主要代码:登陆按钮事件publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if((JButton)e.ge…

  • 数据链路层学习之LLDP「建议收藏」

    一、LLDP协议概述 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。 LLDP(LinkLayerDiscoveryProtocol,链路层发现协

  • BurpSuite系列(五)—-Intruder模块(暴力激活成功教程)「建议收藏」

    BurpSuite系列(五)—-Intruder模块(暴力激活成功教程)「建议收藏」一、简介BurpIntruder是一个强大的工具,用于自动对Web应用程序自定义的攻击,BurpIntruder是高度可配置的,并被用来在广范围内进行自动化攻击。你可以使用BurpIntruder方便地执行许多任务,包括枚举标识符,获取有用数据,漏洞模糊测试。合适的攻击类型取决于应用程序的情况,可能包括:缺陷测试:SQL注入,跨站点脚本,缓冲区溢出,路径遍历;暴力攻击认证

  • python怎么保留四位小数_jq四舍五入取小数点后两位

    python怎么保留四位小数_jq四舍五入取小数点后两位在很多场景的计算中,最终得到的数值例如123.45678,要截取2位小数得到123.45,而不是默认的四舍五入方法得到123.46,如何实现呢?一.小数点后取2位(四舍五入)的方法方法一:round()函数方法二:’%.2f’%f方法方法三:Decimal()函数二.小数点后取2位(四舍五不入)的方法方法一:一.小数点后取2位(四舍五入…

  • VS PDB文件详解

    VS PDB文件详解转自https://blog.csdn.net/feihe0755/article/details/54233714PDB文件的介绍PDB(ProgramDataBase),意即程序的基本数据,是VS编译链接时生成的文件。PDB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、FPO(帧指针)、对应的行号等等。因为存储的是调试信息,所以一般情况下PDB…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号