![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LCA
nymph181
这个作者很懒,什么都没留下…
展开
-
POJ_1330 Nearest Common Ancestors
题意 求一棵树上的某两个节点的最近公共祖先。 思路 这是tarjan算法的例题,所以我这里用的是tarjan算法。 代码 #include<cstdio> #include<cstring> using namespace std; int f1,f2,p,q,t,n,m,x,y,root,tot,head[10001],v[10001],fa[100...原创 2018-05-19 08:28:43 · 143 阅读 · 0 评论 -
SSL_1746 商务旅行
题意 给出一个无向图,每条边有不同的权值。现在给出访问这个图的节点的顺序,求出按这个顺序走完这个图的最小值。 思路 用LCA我们可以知道两个点之间的距离,我们这里用的是倍增的方法求两个点的LCA。 代码 #include&lt;cstdio&gt; #include&lt;algorithm&gt; using namespace std; int ans,tot,n,x,y...原创 2018-05-22 20:40:45 · 149 阅读 · 0 评论 -
【最近公共祖先】洛谷_3379 最近公共祖先(LCA)
题意 给出一个树,有m次询问,求出这两个节点的最近公共祖先。 思路 用倍增的方法。先让两个节点的深度相同,然后每次一起跳,就能得到答案了。 代码 #include&amp;lt;cmath&amp;gt; #include&amp;lt;queue&amp;gt; #include&amp;lt;cstdio&amp;gt; #include&a原创 2018-08-14 10:42:17 · 214 阅读 · 0 评论 -
【LCA】JZOJ_3054 祖孙询问
题意 给出一棵树,询问两个节点的关系。 思路 LCALCALCA模板。 代码 #include<cstdio> #include<cstring> #include<algorithm> const int t = 16; int n, m, root, tot; int f[40001][17], dfn[40001]; int head[40001], n...原创 2019-03-09 16:36:04 · 143 阅读 · 0 评论 -
【字符串 LCA】JZOJ_4669 弄提纲
题意 给出一个字符串,有mmm个询问,每次给出lll与rrr,问以lll和rrr结尾的字符串的公共后缀中,有多少个是原串的前缀, 以及公共后缀与原串前缀的最大公共长度。 题意 kmpkmpkmp算法中,求出了failifail_ifaili代表以iii结尾的字符串与前缀的最长匹配长度。 于是可以从lll和rrr跳到相同的一个位置,求出答案,但是复杂度很高。 所以我们可以把lll和rrr同时要跳到...原创 2019-05-24 20:04:55 · 127 阅读 · 0 评论