欧依LCA

问题描述:如题,\(n=2\cdot10^5,m=2\cdot10^6\)

法一

用欧拉序做深度的 RMQ,可惜有二倍常数

法二

直接考虑 dfn 序,画画图发现 \([\text{dfn}_u...\text{dfn}_v]\) 之间一定经过了 \(\text{dfn}_{\text{LCA}}\) 的一个儿子

故对每个 dfn 直接记录他的父亲,像法一一样做就行了

注意 \(u,v\) 是祖先关系时求出的是 \(u\) 的父亲,此时把 \(\text{dfn}_u\) 加一即可,这也不影响其他情况

\(u=v\) 时特判

posted @ 2024-04-20 23:08  Laijinyi  阅读(6)  评论(0编辑  收藏  举报