码迷,mamicode.com
首页 >  
搜索关键字:lca    ( 2392个结果
hiho13周暴力求lca
先求一个节点的所有先人,然后从另外一个节点开始向上找,找到第一个共同的先人就是最近公共祖先。#include#include#include#includeusing namespace std;int fathe[1222];int color[122];int father[1222];int ...
分类:其他好文   时间:2014-11-04 08:06:41    阅读次数:118
【知识点总结】NOIP前夕 2014.11.4
2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点:一、数论1、素数判断2、筛法求素数3、求一个数的欧拉函数值4、预处理欧拉函数5、卡塔兰数递推式6、快速幂(模素数的乘法逆元)7、GCD二、图论1、最短路:①堆dijkstra ②spfa2、kruscal 最小生成树3、LCA...
分类:其他好文   时间:2014-11-04 08:05:37    阅读次数:128
hiho16动态lca
这个要好写点,就是dfs这棵树,将每个节点进入 和出去的位置都记录下来,然后找 所要求得两个点最后出现的位置之间的最小值 所对应的点,就是他们的最近公共祖先。#include#include#include#include#includeusing namespace std;const int m...
分类:其他好文   时间:2014-11-04 08:05:23    阅读次数:202
【POJ3615】Cow Hurdles 最短路,你若LCA,我仍不拦你。
NOIP2013货车运输,只不过数据范围小了许多。 不到150s打完并且AC。。 额,当然,我写的是Floyd。 写LCA的真过分。 #include #include #include #define N 305 #define inf 0x3f3f3f3f using namespace std; int n,m,q; int map[N][N]; int main() ...
分类:其他好文   时间:2014-11-03 17:49:41    阅读次数:184
BZOJ 1787 AHOI 2008 Meet 紧急集合 倍增LCA
题目大意:给出一棵树,在上满找三个点,问那个点到这三个点的距离和最短。 思路:可以证明,这个店必然是这三个点之间两个的LCA,然后枚举就可以了。 CODE: #include #include #include #include #define MAX 1000010 #define INF 0x3f3f3f3f using namespace std; int...
分类:其他好文   时间:2014-11-03 17:48:16    阅读次数:246
BZOJ 1787 AHOI2008 紧急集合 倍增LCA
题目大意:给定一棵树,多次询问到三个点距离之和最小的点和距离 首先易知到两个点距离之和最小的点一定在两点间的路径上 于是到三个点距离之和最小的点一定在两两之间路径的交点上 然后很容易就会知道这个交点一定是其中两个点的LCA(其实是我不会证) 此外为什么不会是三个点共同的LCA呢?因为三个点共同的LCA一定是至少一对点的LCA 证明略(其实我也不会证) 然后就是倍增LCA的问题了 我的倍增...
分类:其他好文   时间:2014-11-03 16:28:39    阅读次数:219
求 LCA 的三种方法
(YYL: LCA 有三种求法, 你们都知道么?)(众神犇: 这哪里来的傻叉...)1. 树上倍增对于求 LCA, 最朴素的方法是"让两个点一起往上爬, 直到相遇", "如果一开始不在同一深度, 先爬到同一深度". 树上倍增求 LCA 的方法同样基于这个道理, 只不过利用了倍增思想从而加速了"向上爬...
分类:其他好文   时间:2014-11-03 16:09:00    阅读次数:1345
在线二分求LCA
#include#include#include#include#include#include#include#include#include#include#include#include#define rep(i,n) for(int i=0;i=a;--i)#define PB push_b...
分类:其他好文   时间:2014-11-01 09:45:47    阅读次数:297
【LCA】0.1单组不会倍增的暴力的树上最近公共祖先
0.1就是0.1……弱的不行……只是暂时存一下为以后高大上的正解作铺垫Q:LCA都不会你学什么OI?A:我学不了OI了我要滚粗……适当解释:第一行输入点数n以及两个要查询的点q1,q2第二行输入每个点父亲father[i]一行输出ans==最近公共祖先……不会倍增……写了个看起来是正解其实是暴力的东...
分类:其他好文   时间:2014-11-01 00:56:44    阅读次数:268
Hihocoder 最近公用祖先三 在线LCA
在线的LCA算法,dfs遍历整棵树,对于每个点出现的时候都插入到数组中,然后查询两个点的lca就是两个点在数组中最后出现位置间的dep值最小的点,就转化为链上的RMQ问题了。#include #include #include #include #include #include #include ...
分类:其他好文   时间:2014-10-31 22:04:52    阅读次数:214
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!