[bzoj1787][Ahoi2008]Meet 紧急集合(lca)


传送门

可以看出,三个点两两之间的lca会有一对相同,而另一个lca就是聚集点。

然后搞搞就可以求出距离了。

——代码

1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #define MAXN 1000001 5 6 using namespace std; 7 8 int n, m, cnt, ans; 9 int head[MAXN], to[MAXN], next[MAXN], deep[MAXN], f[MAXN][21]; 10 11 inline void add(int x, int y) 12 17 18 inline void dfs(int u) 19 28 } 29 30 inline int lca(int x, int y) 31 43 44 int main() 45 55 dfs(1); 56 for(i = 1; i <= m; i++) 57 65 return 0; 66 }
View Code



上一篇:[luoguP2912] [USACO08OCT]牧场散步Pasture Walking(lca)

下一篇:[luoguP3258] [JLOI2014]松鼠的新家(lca + 树上差分)


lca 倍增
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图