LCA
Wang_SF2015
这个作者很懒,什么都没留下…
展开
-
文章标题 CSU 1845: Sensor network (暴力LCA+kruskal思想)
1845: Sensor network链接 1845: Sensor network 题意: 给出一些传感器以及他们连接起来的网络,每个传感器都有其额 定电压,要求通过的电压只能高不能低。现在只能在一个传感器 上施加电压,然后问如果要使得网络中的每个点都能够有电,这 样的一个网络中各个传感器之间的极差最小是多少。 分析:很显然的,要使得网络中的每一个点都连通电,必须要连上n-1条边。然后原创 2017-04-19 17:07:26 · 178 阅读 · 0 评论 -
文章标题 SPOJ-COT - Count on a tree(LCA+主席树)
题目 链接题意:求树上的路径 u->v上第k小的节点分析:普通的第K大,当前的这颗线段树是在前面一颗线段树的基础上建立的,而树上的第K大,当前的线段树可以在其父节点的线段树建立起来。所以我们查询u->v上的第k大就是rt[u]+rt[v]-rt[lca(u,v)]-rt[fa[lca(u,v)]]的第k大。代码:#include <iostream> #include <cstdio> #inclu原创 2017-08-14 16:58:42 · 325 阅读 · 0 评论 -
文章标题 HDU 2874 : Connections between cities(LCA+并查集)
题目链接 题意:有n个点组成的森林,然后有c个询问,每次询问u->v有没有一条路径,有的话,输出这条路径的距离,没有的话输出“Not connected” 分析:首先,判断是否有路径到达,只需要用并查集,看一下两个点是否在同一颗树上,然后对于有路径的两个点,我们可以求他们的LCA,然后通过dis[u]+dis[v]-2*dis[lca]来得到答案,但是题目给的是森林不是树,可以用另一个点作为树根原创 2017-08-23 15:00:25 · 151 阅读 · 0 评论 -
文章标题 RMQ转LCA算法、基于倍增的方法求LACA
LCA以RMQ来实现LCA(最近公共祖先) 用RMQ来实现,首先把树链哈希到链上。在链上用RMQ求最小值。 哈希这个过程可以用深搜,然后记录每个人节点出现的顺序,比如 对于下面这个图 通过深搜可以得到 然后我们用一个first数组来表示每个节点第一次出现的位置(即数组下标),比如我们找D和G的LCA,D第一次出现的位置为3,G第一次出现的位置为8,然后找他们的LCA就是找[3,8]原创 2017-07-30 23:08:16 · 417 阅读 · 0 评论 -
文章标题 coderforces 609E : Minimum spanning tree for each edge (MST+LCA)
Minimum spanning tree for each edge题意:就是有一个无向图n个点,m条边,然后对于第i条边,然后要们求出包含第i条边是最小生成树的权值是多少,然后输出m个值。 分析:首先先求出最小生成树,然后通过这个,然后对于每一条边(u,v),只需要求出u-> v这条路径上的最大边,用这条边替换(u,v)这条边即可,问题就转化成求u到v路径上的最大边,而求最大边可以用LCA中的原创 2017-09-25 23:00:00 · 292 阅读 · 0 评论