摘要: 下面是一个最基础的LCA题目 http://poj.org/problem?id=1330 赤裸裸的 题意 输入cas 后 有cas组数据 输入 n 再输入n-1 条边 之后输入x y 问x y的最近公共祖先是什么 之后来个加强版 http://acm.hdu.edu.cn/showproblem. 阅读全文
posted @ 2017-08-14 03:54 Aragaki 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 首先是最近公共祖先的概念(什么是最近公共祖先?): 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点。 换句话说,就是两个点在这棵树上距离最近的公共祖先节点。 所以LCA主要是用来处理当两个点仅有唯一一条确定的最短路径时的路径。 阅读全文
posted @ 2017-08-14 03:49 Aragaki 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 1 #include<bits/stdc++.h> 2 #define ll long long 3 using namespace std; 4 5 const int maxn=2e5+15; 6 const int mxn=5e3+15; 7 struct node 8 { 9 int t;i 阅读全文
posted @ 2017-08-14 03:18 Aragaki 阅读(330) 评论(0) 推荐(0) 编辑
摘要: hdu 1233 #include<stdio.h> #include<algorithm> using namespace std; struct dis { int a, b, c; } s[10010]; int cmp(dis x, dis y) { return x.c < y.c; } 阅读全文
posted @ 2017-08-14 03:16 Aragaki 阅读(151) 评论(0) 推荐(0) 编辑