随笔分类 -  图论最短公共祖先(LCA)

摘要:bryce1010模板http://acm.hdu.edu.cn/showproblem.php?pid=2586#includeusing namespace std;#define ll long longconst int MAXN=40010;const in... 阅读全文
posted @ 2018-07-29 13:47 Bryce1010 阅读(199) 评论(0) 推荐(0)
摘要:1、Targan算法(离线)http://poj.org/problem?id=1470/*伪代码Tarjan(u)//marge和find为并查集合并函数和查找函数{ for each(u,v) //访问所有u子节点v { Tarja... 阅读全文
posted @ 2018-07-29 11:49 Bryce1010 阅读(227) 评论(0) 推荐(0)
摘要:bryce1010模板 http://poj.org/problem?id=1470/*伪代码Tarjan(u)//marge和find为并查集合并函数和查找函数{ for each(u,v) //访问所有u子节点v { Tarjan(... 阅读全文
posted @ 2018-07-29 11:48 Bryce1010 阅读(175) 评论(0) 推荐(0)
摘要:这个题目只要建立一个树,然后查询任意2个点之间的距离,没有更新操作,所以可以用LCA来做。LCA就是寻找最近公共祖先,这有什么用呢?这是因为有一个性质,假设B和C的最近公共祖先是A,那么对于整个树的根节点D,都有:|BD|+|CD|-|AD|*2=|BC|也就是说,只... 阅读全文
posted @ 2018-06-11 22:10 Bryce1010 阅读(76) 评论(0) 推荐(0)