码迷,mamicode.com
首页 > 其他好文 > 详细

st表、RMQ和LCA

时间:2020-01-20 20:36:20      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:bsp   mamicode   class   --   img   lca   span   st表   http   

技术图片

技术图片

 

 

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 

int lca(int x,int y)
{
    if(de[x]<de[y]) swap(x,y);
    int d=de[x]-de[y];
    for(int i=log2(d);i>=0;i--)
    {
        if(d&(l<<i))
        {
            x=fa[x][i];
        }
    }
    for(int i=log2(n);i>=0;i--)
    {
        if(fa[x][i]!=fa[y][i])
        {
            x=fa[x][i];
            y=fa[y][i];
        }
    }
    if(x!=y)
    {
        return fa[x][0];
    }
    else
    {
        return x;
    }
}

技术图片

技术图片

 

 技术图片

 

 技术图片

技术图片

 

 技术图片

st表、RMQ和LCA

标签:bsp   mamicode   class   --   img   lca   span   st表   http   

原文地址:https://www.cnblogs.com/liusu123456/p/12219221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!