![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LCA
你的目光看海
这个作者很懒,什么都没留下…
展开
-
HDU 2586
一道很经典的lca入门题。写完收获颇多。 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2586 分析:写这道题首先要懂得一种rmq算法,我用的是st算法,我想线段树应该也可以吧。然后还要知道lca是什么东东(废话了==)。有几个工作要做。 1:建图,我用的指针链表。 2:dfs构造数组。 3:用st算法求值。 4:回收内存(如果用链式前向星就不需要原创 2016-10-21 13:34:54 · 345 阅读 · 0 评论 -
HDU 2874 Connections between cities
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2874题意:给你一个不完整的树,让你判断任意两点的情况,不联通或者最小距离。 总结:这道题因为数据原因,不能用最短路的算法写。而是LCA,算是一道LCA入门题。 思路:利用LCA+ST求解,如果两个点没有边就加一个无限大的边(用到了并查集),然后构造要RMQ的数组,ST求解一套带走。 ps:我用了指针链原创 2016-10-22 00:13:28 · 523 阅读 · 0 评论 -
Wannafly挑战赛1_MMSet2
传送门分析:只需要求出集合内距离最长的连线,取一个点,改点恰巧到集合内最长连线的两点的距离len相等(没有就相差一),容易得知这个点就是我们要找的点,答案就是(len+1)/2(len+1)/2。实现:lca典型题,求一遍lca就好了,但这道题比较考代码能力(我错了好多次233)。#include <bits/stdc++.h> using namespace std;const int maxn原创 2017-10-16 17:41:46 · 291 阅读 · 0 评论