
最近公共祖先
文章平均质量分 91
Bill845514379
acmer
展开
-
树链剖分 入门(求LCA)
1. 引言 最近学了树链剖分基本思想,然后自己实现了遍代码,过了树链剖分求LCA,本文对树链剖分基本过程进行阐述,提出自己的看法,欢迎交流。2.基本思想 顾名思义,树链剖分就是将树剖分成一条一条的链,之后快速的操作链。 树链剖分的复杂度为,预处理两边dfs,O(n)复杂度;之后查询或者修改操作每一条链为O(log(n)),因为剖分出来的链一共有log(n)条,当然如果在链上再套个线段树,那每次操作就是O(log2(n))。之后,下文只利用树链剖分求树上两点的最近公共最先,不涉及线段树,了解了基原创 2020-08-25 16:13:24 · 3662 阅读 · 0 评论 -
洛谷 P3398 LCA判断交点
题目链接:点我题意:在一个无根树中,判断两条链是否相交。范围:1e5个点 1e5次询问第一行两个正整数n和q,表示这棵树节点的个数和询问的个数。接下来n-1行,每行两个正整数u和v,表示节点u到节点v之间有一条边。接下来q行,每行四个正整数a、b、c和d,表示节点编号,求ab链和cd链是否有交点。实例:5 52 54 21 31 45 1 5 12 2 1 44 1 ...原创 2020-01-21 21:35:17 · 215 阅读 · 0 评论 -
洛谷 P3128 LCA+树上差分
题目链接:点我题目描述:FJ给他的牛棚的N(2≤N≤50,000)个隔间之间安装了N-1根管道,隔间编号从1到N。所有隔间都被管道连通了。FJ有K(1≤K≤100,000)条运输牛奶的路线,第i条路线从隔间si运输到隔间ti。一条运输路线会给它的两个端点处的隔间以及中间途径的所有隔间带来一个单位的运输压力,你需要计算压力最大的隔间的压力是多少。题意在一个无根树中,不断让s到t路径中的点(...原创 2020-01-21 18:59:58 · 344 阅读 · 0 评论 -
求树上距离:LCA与点分治两种解法
杭电2586 戳我题意给出一个加权无根树,多组询问每两点之间的距离。输入格式第一行T,代表有T组测试后面代表每一组测试的格式输入树点的个数n以及输入询问的次数m,再输入n-1条边以及该边的权值以及x,y,代表询问x,y之间的距离数据范围:T<=10 n<=40000 m<=200输出格式输出所有测试询问点对之间的距离暴力做法对于每一组询问,x,y,直接df...原创 2020-01-19 22:39:10 · 1308 阅读 · 0 评论