首页 > 其他分享 >关于dfs序求lca的一点思考

关于dfs序求lca的一点思考

时间:2024-02-27 09:45:51浏览次数:24  
标签:ed beg dfs 序求 dfn lca

最近学了一点黑科技,这就是一个。有一个结论

比如这就是一个dfn序。在代码中,常常对beg和ed都开一个数组。如果一个点是x,y的lca记为g,那么有以下结论\(beg[g]<min(beg[x],beg[y]),ed[g]>max(ed[x],ed[y])\)
感性理解即可。所以我们就可以在符合的点找深度最大的。这是一种思路,常常是用来压缩多次lca的,如P7103。然后这还有个\(O(n \log n)-O(1)\)求lca的做法。是在beg[x]和ed[y]中找深度最小的节点,他的父亲就是lca。比如图中6,5的lca,dfn中3-12中有6,4,10,9,5这几个节点,用rmq维护一下就可以了

标签:ed,beg,dfs,序求,dfn,lca
From: https://www.cnblogs.com/wuhupai/p/18036199

相关文章

  • 【学习笔记】倍增ST表、LCA学习笔记
    学习笔记索引众所周知,scy5赛时在P10059Choose写了个滑动窗口骗\(40\)分,但是狂WA不止,丢掉了\(rk155\),于是就有了下面这两张口吐芬芳的图:听说这题可以用ST表做,但他不会,于是他就来学倍增乐。省流:被吊打了更改日志2024/01/16:开坑。倍增原理设做一件事有\(n\)个步骤。......
  • hdfs基本命令
    创建目录hadoopfs–mkdir[-p]<path>查看目录下的内容hadoopfs–ls[-h][-R][<path>]-h人性化显示文件大小-R递归查看指定目录及子目录上传文件hadoopfs–put[-f][-p]<localsrc><dst>-f覆盖目标文件(若文件已存在)-p保留访问和修改时间、......
  • Volcano架构
    架构-Queue  -Queue是容纳一组PodGroup的队列,也是PodGroup获取集群资源的划分依据。-PodGroup  -PodGroup是一组强关联的pod,对应批处理workload。-VolcanoJob  -VolcanoJob(vcjob)是自定义的Job资源类型,区别于KubernetesJob,vcjob可以指定调度器、支持最......
  • 深度优先搜索DFS、广度优先搜索BFS
    深度优先搜索DFS基本概念深度优先搜索(Depth-FirstSearch,DFS)是十分常见的图搜索方法之一。深度优先搜索会沿着一条路径一直搜索下去,在无法搜索时,回退到刚刚访问过的节点。它从初始节点出发,按预定的顺序扩展到下一个节点,然后从下一节点出发继续扩展新的节点,不断递归执行这个过......
  • DFS算法模板(2488:A Knight's Journey)
    DFS算法(C++版本)题目一:链接:http://bailian.openjudge.cn/practice/2488/解析思路:骑士找路就是基本的DFS,用递归不断找到合适的路,找不到就回头直到找到合适的路。该题难点:要是实现字典序,也就是同样的两种选择,要走到A1而不是B1。所以就有了{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1......
  • 最强非公来了!七彩虹iGame RTX 4070 Ti SUPER Vulcan OC评测:性能比公版强3%
    一、前言:来自七彩虹的顶级非公RTX4070TiSUPERNVIDIA发布了三款RTX40SUPER显卡,可以说RTX4070TiSUPER的性价比是最高的,它拥有完整的256Bit显存位宽和16GB大容量显存,性能全面强于RTX3090Ti同时起售价还维持6499元不变。与其他两款RTX40SUPER显卡不同,RTX4070TiSUPER......
  • #根号分治,分块,dfs序#洛谷 7710 [Ynoi2077] stdmxeypz
    题目传送门分析首先把距离变成深度,用dfs序转成区间问题,考虑分块,散块直接改问题是整块,如果模数比较大,可以以深度为第一维下标差分标记,这样查询时就可以前缀和知道答案如果模数比较小,那么给该块打标记,查询时枚举模数即可,然后块长取1000,模数阈值取300,就能尽量减少时间代码#in......
  • 力扣 dfs之 437. 路径总和 III
    给定一个二叉树的根节点root ,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 示例1:输入:root=[10,5,-3,3,2,null,11,3,-2,null,1],target......
  • fastDFS:fdfs_monitor:last_heart_beat_time 字段的信息来自最后访问的tracker server的
    命令:fdfs_monitor/etc/fdfs/client.conf2>/dev/null|grep-vE'succ|out_'|grep-E'tracker|Stora|Group|heart|sync|time|id|ip|upload'结果: 说明:    last_heart_beat_time的指的是storageserver与trackerserver心跳通讯,收到的trackerserver的心......
  • fastDFS:优化参数配置,让dfs集群更灵敏
    【storage.conf】配置文件#connecttimeoutinseconds#defaultvalueis30#Note:intheintranetnetwork(LAN),2secondsisenough.connect_timeout=2#networktimeoutinsecondsforsendandrecv#defaultvalueis30network_timeout=60#theheartbeati......