倍增LCA
只有魔法才能对抗魔法
这个作者很懒,什么都没留下…
展开
-
Distance on the tree(树上主席树+LCA)
https://nanti.jisuanke.com/t/38229 题意:求树上两点间的边权小于K的个数 题意:LCA在dfs预处理的时候建主席树,利用前缀和(树上同样满足), 然后这样 int ans=query(1,n,root[llccaa],root[x],h)+query(1,n,root[llccaa],root[y],h); 求出两点的LCA 就好了,就成树上主席树了 ...原创 2019-10-14 10:52:11 · 209 阅读 · 0 评论 -
GYM101808 K. Another Shortest Path Problem(LCA)
https://codeforces.com/gym/101808/problem/K /* 这道题当板子去学了,挑战上的板子,加了个权值 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点。 换句话说,就是两个点在这棵树上距离最近的公共祖先节点。 所以LCA主要是用来处理当两个点仅有唯一一条确定的最短路径时的路径。 */ ...原创 2019-05-07 09:28:42 · 219 阅读 · 1 评论 -
POJ1330 (LCA入门题)
http://poj.org/problem?id=1330 题意:单纯求LCA板子 题解:单纯跑LCA 注意:不知道根节点时,用并差集把所有点连起来,最后直接 root=find(1)即可(都懂吧) 初始化并差集的fat数组和vector数组时一定要注意你的范围(点的多少) #include<cstdio> #include<cstring&...原创 2019-05-07 10:40:09 · 260 阅读 · 0 评论