LCA
柠檬不酸只是萌
遇 见 最 美 的 自 己 。
展开
-
HDU 2874 — Connections between cities
原题:http://acm.hdu.edu.cn/showproblem.php?pid=2874 题意:有n个城市,m条路,接下来m行给出城市间距离; 有c个询问,若两点间不连通,输出 “Not connected”,否则输出两点间的最短距离; 思路:判断两点是否联通用并查集,最短路用LCA; #include #include #include #include #i原创 2015-04-19 20:13:36 · 401 阅读 · 0 评论 -
HDU 2586 — How far away ?
原题:http://acm.hdu.edu.cn/showproblem.php?pid=2586 题意:n个点,m个询问,下面n-1行给出两点间距离; 问两点间的最短距离; #include #include #include #include #include using namespace std; queueq; const int N = 40005; i原创 2015-04-19 22:13:22 · 439 阅读 · 0 评论 -
HDU 3078 — Network
原题:http://acm.hdu.edu.cn/showproblem.php?pid=3078 题意:有n个点,Q个操作; 给出n个点的权值,接下来n-1行给定一棵树; 操作分两种:1、若k = 0,则将a的权值变成b的; 2、若k > 0,则求出a到b路径上权值第k大的数; 思路:分别从u、v登山式的爬向lca(u, v),沿途记录每个点的权值;原创 2015-04-19 23:49:29 · 470 阅读 · 0 评论 -
ZOJ 3195 — Design the city
原题:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3195 题意:有n个点,下面n-1行,输入两个点之间的距离。Q个询问,求联通三个点的最短长度; 裸LCA 直接贴代码了 ^_^ #include #include #include #include #include using names原创 2015-04-14 21:19:15 · 435 阅读 · 0 评论 -
POJ 1330 — Nearest Common Ancestors
原题:http://poj.org/problem?id=1330 裸的lca,只不过根不能从1开始 #include #include #include #include #include using namespace std; const int N = 10005; bool vis[N]; int head[N], fa[N][20], dep[N]; int n, e;原创 2015-04-20 18:22:02 · 470 阅读 · 0 评论 -
POJ 1986 — Distance Queries
原题:http://poj.org/problem?id=1986 题意:有n个点,m条边,下面m行给定一棵树(后面那个字母并没有什么卵用); Q个询问,求两点间最短距离; 话说,我并没有考虑不连通的情况,然而也过了……另外,注意数组大小; #include #include #include #include #include using namespace s原创 2015-04-21 20:19:50 · 413 阅读 · 0 评论 -
POJ 1470 — Closest Common Ancestors
原题:http://poj.org/problem?id=1470 题意:有n个点,下面n行给定一棵树; Q个询问,统计lca的种类及个数; 题目很水,就是输入好烦,最后找了discuss里大神的输入法 #include #include #include #include #include using namespace std; const int N = 1原创 2015-04-21 19:44:28 · 375 阅读 · 0 评论