首页 > 其他分享 >LCA 和 RMQ 互化

LCA 和 RMQ 互化

时间:2022-12-03 08:44:28浏览次数:38  
标签:互化 子树 为啥 最小 RMQ LCA

简单记录一下。

RMQ 转 LCA:建立笛卡尔树即可。
为啥:考虑树上的点 \(lca(u,v)\),其必为 \([u,v]\) 中的点。对于所有以其为根的子树中的点,一定比其权值小/大,不在子树中的点,不在 \([u,v]\) 中。

LCA 转 RMQ:对树求出欧拉环游序,LCA 必为两点第一次出现的位置间深度最小的点。
为啥:考虑如何找 LCA:首先在 \(u\) 子树中找 \(v\),再在 \(fa_u\) 的子树中找 \(v\),以此类推,LCA为找到 \(v\) 时经过的最小深度的点。而 DFS 就是这一过程的一般化。

标签:互化,子树,为啥,最小,RMQ,LCA
From: https://www.cnblogs.com/pref-ctrl27/p/16946327.html

相关文章

  • js插件fullcalendar配置项及样例
     部分配置项<linkhref="./plugins/fullcalendar-5.11.2/lib/main.css"rel="stylesheet"/><scripttype="text/javascript"language="javascript"src="./plugins/......
  • 使用fullcalendar构建简单会议室预约页面
    <linkhref="./plugins/fullcalendar-5.11.2/fullcalendar-scheduler/main.min.css"rel="stylesheet"/><scripttype="text/javascript"language="javascript"src=".......
  • 树的直径与LCA
    树的直径与LCA树的直径定义:设\(dis[i,j]\)表示\(i,j\)在树中的距离,则树的直径(\(diameter\),本文简记\(dia\))\(dia=dis[u,v](\foralli,j,dis[i,j]\ledis[u,v])\),通俗......
  • docker部署RockerMQ单机测试环境
    1.RocketMQ创建专属网络[root@mq011~]#dockernetworkcreaterocketmq154dc65dce84ce5d417e9e2787bdd77de881ac65575e5e74fed4aeaf99830984[root@mq011~]#docker......
  • jQuery插件FullCalendar日程表实现可扩展Google日历功能
    这个介绍jQuery日历FullCalendar插件是一个非常不错的日历工具,可用于制作日程表或计划安排等,可扩展Google日历功能,制作个性化的日程表,同时可绑定点击事件或拖动事件,使用非常......
  • lca 板子
    这题#10130. 「一本通4.4例1」点的距离求树上两点的距离 #include<bits/stdc++.h>usingnamespacestd;constintN=1e6+2,M=N;intnxt[M],hd[N],all,go[M......
  • 树上差分与LCA
    树上差分与LCA​​可以看b站的这个视频​​讲的很不错强烈推荐LCA什么是LCALCA全称LeastCommonAncester即最近公共祖先祖先:从树根到当前节点的路径中经过的点(不包括当......
  • [拆位线段树]RMQ
    [拆位线段树]RMQ题目​​https://ac.nowcoder.com/acm/problem/21414​​思路区间或,区间求和对于区间或,异或这种位运算,没法之间打懒标记。但是如果我们按位拆分,可以发现对......
  • 题解 LGP4211【[LNOI2014]LCA】
    problem一棵树,多次给定\(l,r,z\)询问\(\sum_{l\leqi\leqr}dep_{lca(i,z)}\),允许离线,\(n\leq50000\)。solution转换:这个\(dep_u\)的定义为\(u\)到根节点的点数......
  • CF803G Periodic RMQ Problem
    这题很妙,当时用CD的方法,写平衡树,但是吧没有领会精神,写了200多行,发现前驱后继又不合法的情况,好像要写12种情况,就不想写了。然后就突然明白线段树做法了。。。介绍一种线段......