"题目" 这,大概是我在CSP前最后的一篇模板题了吧。 时隔一年,昨天又一次成功地打对了LCA,可海星。 这里用的是倍增的写法。 Code: ...
分类:
其他好文 时间:
2019-11-13 13:19:10
阅读次数:
55
线段树(区间修改,区间和):#include #include #include using namespace std;int c[1000000],n,m;char s;void update(int p,int l,int r,int x,int add){ int m=(l+r) / 2; ... ...
分类:
编程语言 时间:
2019-11-12 10:47:37
阅读次数:
67
快要爆零了敲些模板复习复习,随缘更新 P3379 【模板】最近公共祖先(LCA) ...
分类:
其他好文 时间:
2019-11-08 12:05:19
阅读次数:
85
原创建时间: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深度的和 以每一层分析,得出通式 由于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
(十一集训前最后的挣扎) 先介绍LCA是啥吧。。 LCA:Lowest Common Ancestors(最近公共祖先) 用来求树上任意两点的最近相同父亲节点,有各种不同的方法,这里先介绍树上倍增求LCA(另一种我不会。。) 先看一道题:(RP++) 这是翻译: 先看看朴素算法: 先依次向上查找x的 ...
分类:
其他好文 时间:
2019-09-28 16:20:20
阅读次数:
114