首先,我们从 u -> v 有一个明显的贪心,即能向上跳的时候尽量向深度最浅的节点跳。这个我们可以用树上倍增来维护。我们可以认为 u 贪心向上跳后不超过 lca 能跳到 u' 的位置, v 跳到 v' 的位置,这时只需要查询一下是否有 u' -> v' 的直达公交线路就可以确定出答案了。 如果 u ...
分类:
其他好文 时间:
2018-11-03 01:58:41
阅读次数:
256
The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U and V as descendants. A binary search tree (BST) i ...
分类:
其他好文 时间:
2018-11-02 23:39:33
阅读次数:
180
题意:给一个字符串,多组查询,一些后缀两两的lcp长度和,查询个数和不超过1e6 题解:svt就是后缀虚树,suffix virtual tree,考虑后缀树lca求lcp长度,但是查询次数可能很多,不能每次遍历,所以要建出虚数后在虚树上dp,对于一个节点考虑算贡献,对于所有子树,两两算个数乘积乘上 ...
分类:
其他好文 时间:
2018-11-02 17:59:09
阅读次数:
143
最近公共祖先(LCA)是树上倍增的一种典型例题。 问题描述:给定一棵具有n个节点的树,询问两个节点x,y的最近的公共祖先。 分析:首先我们想到的是暴力算法,当然这个算法妥妥的会TLE掉,所以我们采用倍增优化的方法来进行实现,也就是我们今天介绍的重点。 所谓倍增,就是按2的倍数来增大,按1,2,4,8 ...
分类:
其他好文 时间:
2018-11-02 00:25:06
阅读次数:
143
[Luogu 3128] USACO15DEC Max Flow "" 最近跟 LCA 干上了… 树剖好啊,我再也不想写倍增了。 以及似乎成功转成了空格选手 qwq。 对于每两个点 S and T,求一下 LCA 顺便树上差分,最后求差分数组的前缀和并找出最大值输出就行了。 (PS:最近考前训练不开 ...
分类:
其他好文 时间:
2018-11-01 22:23:41
阅读次数:
204
emmm树形dp?好像是的 搬一个题解证明过来 由于在n>1时答案至少为1,我们枚举一个必须放的根, 所有深度不同的点就被区分开了. 设一个节点有c个儿子, 发现必须在其中至少c?1个儿子的子树中放置信标. 证明如下: 考虑如果不这样放, 对于两棵都没有放的子树, 他们汇集到lca上以后距离都是相等 ...
分类:
其他好文 时间:
2018-11-01 21:08:21
阅读次数:
143
题面 也就是说, 随机序列RMQ.($n \le 8388608$, $m \le 8 10^6$) 解法 我写了笛卡尔树+tarjan 然而听神仙说, 因为数据随机, 建完树暴力找lca就行, 跑的飞快...吊打std... 还有题解, 真是神仙做法... 设 p i 表示比 a i 大的前一个数 ...
分类:
其他好文 时间:
2018-11-01 16:13:07
阅读次数:
172
题目描述 小C最近学了很多最小生成树的算法,Prim算法、Kurskal算法、消圈算法等等。正当小C洋洋得意之时,小P又来泼小C冷水了。小P说,让小C求出一个无向图的次小生成树,而且这个次小生成树还得是严格次小的,也就是说:如果最小生成树选择的边集是EM,严格次小生成树选择的边集是ES,那么需要满足 ...
分类:
其他好文 时间:
2018-10-31 23:23:17
阅读次数:
184
[Luogu 3258] JLOI2014 松鼠的新家 "" LCA + 树上差分。 我呢,因为是树剖求的 LCA,预处理了 DFN(DFS 序),于是简化成了序列差分。 qwq不讲了不讲了,贴代码。 谢谢阅读。 ...
分类:
其他好文 时间:
2018-10-31 19:58:27
阅读次数:
111