快要爆零了敲些模板复习复习,随缘更新 P3379 【模板】最近公共祖先(LCA) ...
分类:
其他好文 时间:
2019-11-08 12:05:19
阅读次数:
85
凉宫春日的犹豫 题解 第一次秒切题,5分钟切掉 比较$x^y$和$y!$大小 如果$x^y<y!$输出Yes 问题转化为 $\frac{1}{x} *\frac{2}{x}*\frac{3}{x},,,,,*\frac{y}{x}>=1$输出$Yes$ 开双端队列维护,一直保持单调,然后让队首*队尾 ...
分类:
其他好文 时间:
2019-11-01 20:29:15
阅读次数:
102
本人水平有限,题解不到为处,请多多谅解 本蒟蒻谢谢大家观看 并查集(普及基本知识)1:目的并查集的目的很容易理解,通俗点就是说你的亲戚的亲戚也是你的亲戚,用来检测任意两点是否同在一个集合内。2:实现办法实现的办法主要判断两点的最远公共祖先是否一样(亦就是两点所在的集合的根节点),我们可以定义一个fa ...
分类:
其他好文 时间:
2019-11-01 13:11:17
阅读次数:
101
原创建时间:2018 08 07 14:08:52 两个结点找共同的爸爸 LCA 的概念 在 "图论" 和 "计算机科学" 中, 最近公共祖先 (英语:lowest common ancestor)是指在一个 "树" )或者 "有向无环图" 中同时拥有v和w作为后代的最深的节点。 ——Wikiped ...
分类:
其他好文 时间:
2019-10-26 21:18:47
阅读次数:
114
"【时光蒸汽喵带你做专题】最近公共祖先 LCA (Lowest Common Ancestors)_哔哩哔哩 (゜ ゜)つロ 干杯~ bilibili" "tarjan LCA YouTube" "Tarjan算法_LCA A_Bo的博客 CSDN博客" "Tarjan离线算法求最近公共祖先(LCA ...
分类:
编程语言 时间:
2019-10-20 13:20:37
阅读次数:
97
题意: 一道很裸的LCA题 以一个点建树,两点间最短的距离可以转化为求两近公共祖先,最短距离,depth[x]-depth[l]+depth[y]-depth[l] 在dfs求得每个点到顶点距离 ...
分类:
其他好文 时间:
2019-10-16 19:58:32
阅读次数:
81
"题目链接" 题目大意 求每个点对的lca深度的和 以每一层分析,得出通式 由于1e9的数据范围要化简表达式得到O(能过) 瞎搞后就是2^(2n+2) (4n+2) 2^n 2 code: cpp include using namespace std; const long long mod = ...
分类:
其他好文 时间:
2019-10-12 20:35:04
阅读次数:
96
lca的倍增策略不仅可以维护最近公共祖先,还可以维护其他具有区间可维护性的信息,例如本题中维护的最小限重。 本题调了好久,最后发现原因是数组用混了。以后一定要记准各个数组含义,千万不要混啊。。。 1 #include<iostream> 2 #include<cstdio> 3 #include<c ...
分类:
其他好文 时间:
2019-10-07 23:21:38
阅读次数:
124
本人水平有限,题解不到为处,请多多谅解 本蒟蒻谢谢大家观看 题目:传送门 树链剖分:跑两遍dfs,第一遍找重边,第二遍找重链。 重儿子:父亲节点的所有儿子中子树结点数目最多(size最大)的结点; 轻儿子:父亲节点中除了重儿子以外的儿子; 重边:父亲结点和重儿子连成的边; 轻边:父亲节点和轻儿子连成 ...
分类:
其他好文 时间:
2019-10-05 12:31:50
阅读次数:
98
如果题目中只有两个国家,事情就非常简单了:假设只有国家$A$和$B$,我们先找出$A$和$B$的最近公共祖先$lca$,然后找到在路径$A\longrightarrow lca\longrightarrow B$上的中点$mid$,然后分3类讨论: 1. 若$dis(A,mid)==dis(B,mi ...
分类:
其他好文 时间:
2019-10-02 12:45:56
阅读次数:
72