今天终于把倍增的LCA搞懂了!尽管周测都没写,尽管lca其实很简单,但这也是进度君的往前一点点的快乐。 倍增的lca其实关键就在于二进制的二进制的拆分(显然是两次的拆分,很奇妙,懂二进制的自然不觉得什么)。把最关键的地方在这里列举一下吧: 1.f[fa][i]=f[f[fa][i-1]][i-1]; ...
分类:
其他好文 时间:
2018-09-21 23:15:40
阅读次数:
451
BaoBao has just found a rooted tree with n vertices and (n-1) weighted edges in his backyard. Among the vertices, of them are red, while the others ar ...
分类:
其他好文 时间:
2018-09-19 23:39:15
阅读次数:
430
要求在一个矩形中 任意 选两个点都有唯一的通路,所以不会建多余的墙。 要求满足上述情况下,建墙的费用最小。理解题意后容易想到首先假设全部墙都建起来,然后拆掉费用最大的边使图成为一棵树,就是求一颗最大生成树 求出最大生成树后,求任意两点的距离,直接用lca就可以 思路 c++ include defi ...
分类:
其他好文 时间:
2018-09-12 01:16:44
阅读次数:
264
1.tarjan求lca 2.倍增lca(在线) 3.树剖lca(在线) ...
分类:
其他好文 时间:
2018-08-30 16:53:35
阅读次数:
176
题目分析: 考虑欧拉序,这里的欧拉序与ETT欧拉序的定义相同而与倍增LCA不同。然后不妨对于询问$u$与$v$让$dfsin[u] \leq dfsin[v]$,这样对于u和v不在一条路径上,它们可以改成询问$dfsin[u]$到$dfsin[v]$。否则改成$dfsout[u]$到$dfsin[v ...
分类:
其他好文 时间:
2018-08-28 10:32:08
阅读次数:
221
Description 如今,路由器和交换机构建起了互联网的骨架。处在互联网的骨干位置的核心路由器典型的要处理100Gbit/s的网络流量。他们每天都生活在巨大的压力之下。小强建立了一个模型。这世界上有N个网络设备,他们之间有M个双向的链接。这个世界是连通的。在一段时间里,有Q个数据包要从一个网络设 ...
分类:
其他好文 时间:
2018-07-08 20:38:07
阅读次数:
227
//LCA //倍增 在线 #include #include #include #include #include #include #define maxn 500001 using namespace std; int n,m,root,cnt; int head[2*maxn],depth[... ...
分类:
其他好文 时间:
2018-07-08 17:17:57
阅读次数:
202
传送门 题目 Input Output 分析 看到这个题不难想到倍增LCA,然后我们考虑如何计算。我们分别求出3个点中任意两点的LCA,为了走的步数最少所以肯定是先有两个点相遇然后另一个点走的它们相遇的点,至于最后的距离自己画一画就知道啦。 代码 ...
分类:
其他好文 时间:
2018-06-20 21:36:01
阅读次数:
189
题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行 ...
分类:
其他好文 时间:
2018-05-30 21:17:14
阅读次数:
179