
最近公共祖先LCA
largecub233
这个作者很懒,什么都没留下…
展开
-
最近公共祖先(LCA):倍增
https://www.luogu.org/problem/show?pid=3379 最近公共祖先方法有很多的,现在我们利用倍增表求lca 何为倍增表,简单的说是成倍增加表 bz[i][j]表示在第i位上向前推进2^j步 对于一颗有根树,bz[i][j]表示从第i为向根节点走2^j步,就是说高度增加2^j 倍增表功能强大,这里不展开(我不会…) 首先我们讲一下倍增 它的地推公示bz[原创 2017-01-22 18:33:07 · 410 阅读 · 0 评论 -
PrayerOJ1823: 每条边的最小生成树
http://prayer.hustoj.com/problem.php?id=1823 CF上好像也有题 这题其实蛮巧妙的 显然暴力的代码也难搞 那我直接说标算了; 吧原图的最小生成树搞出来 对于询问 如果边不在我们求出来的最小生成树上,那一定会形成一个环 我们只要把环里除询问边外最长的边删掉就可以了 妥妥的; 但是证明去找到最长边呢 我第一个反应就是暴力; 后来zyy大佬原创 2017-02-06 20:25:35 · 880 阅读 · 0 评论 -
hdu6031 Innumerable Ancestors
从现在起,我的标题不写算法了,因为写不下了; http://acm.hdu.edu.cn/showproblem.php?pid=6031 就是求解A集合和B集合里面的两点的lca的最深深度; 那么我们先预处理树上倍增的东西(就是第i点向上跳2^j步可以到达的位置); 然后直接二分答案k; 找到AB集合里的点在K深度的祖先; 如果两个集合有交集的话就可以;#include<bits/st原创 2017-07-03 13:40:17 · 338 阅读 · 0 评论