NetworkTime Limit:5000MSMemory Limit:65536KB64bit IO Format:%I64d & %I64uSubmitStatusPracticePOJ 3694DescriptionA network administrator manages a larg...
分类:
Web程序 时间:
2015-11-06 22:18:14
阅读次数:
346
题目:Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to thedefinition of LCA on Wikipedi...
分类:
其他好文 时间:
2015-11-05 10:32:12
阅读次数:
134
1、前言 最近公共祖先(LCA),作为树上问题,应用非常广泛,而求解的方式也非常多,复杂度各有不同,这里对几种常用的方法汇一下总。2、基本概念和暴力算法 最近公共祖先,顾名思义,指的是两个点的公有祖先中,最近的那个点。它显然不会作为一个单独的知识点拿出来考,但是在很多题目中,出现的频率很高,不同.....
分类:
其他好文 时间:
2015-11-01 19:30:46
阅读次数:
224
参考:http://www.xuebuyuan.com/609502.html先说题意: 给出一幅图,求最大生成树,并在这棵树上进行查询操作:给出两个结点编号x和y,求从x到y的路径上,由每个结点的权值构成的序列中的极差大小——要求,被减数要在减数的后面,即形成序列{a1,a2…aj …ak…an}...
分类:
其他好文 时间:
2015-10-30 12:32:44
阅读次数:
225
题意:
给出一个n个点m条边的森林,每个点有一个点权,有两种操作;
1.查询两点之间的第K小的点权,保证合法;
2.连边(x,y);
m
题解:
论正确姿势的重要性;
首先询问和某道COT的题很像,而这道题中多了Link操作;
然而,那道COT的题我是用树链剖分写的。。。
一开始的脑洞是每次将小的暴力重构作为一个轻链连在大的树上,然后每隔一段时间重构一次大树;
听起来十分暴...
分类:
其他好文 时间:
2015-10-21 12:41:06
阅读次数:
207
题目:单点修改、树链查询。可以直接用树链剖分做。。修改是O(QlogN),查询是O(QlogNlogN),Q=N=500000;听说会超时。。这题也可以用DFS序来做。先不看修改,单单查询:可以求出每个点到根的xor值,那么对任意两点的查询就等于xor(u)^xor(v)^val(lca(u,v))...
分类:
其他好文 时间:
2015-10-17 10:38:03
阅读次数:
208
有两个基础需要掌握:RMQ,以及LCA。RMQ:dp[i][j]表示下标从i开始,长度为2^j的一段元素中的最值。则易得状态转移如下:dp[i][j]=max/min(dp[i][j-1],dp[i+2^j-1][j-1];LCA:最近公共祖先结点的求法:可先进行一次dfs得到欧拉序列。比如对,得到...
分类:
其他好文 时间:
2015-10-15 20:22:47
阅读次数:
177
They say that Berland has exactly two problems, fools and roads. Besides, Berland hasncities, populated by the fools and connected by the roads. All B...
分类:
其他好文 时间:
2015-10-13 13:39:51
阅读次数:
236
给定一棵树求任意两个节点的公共祖先tarjan离线求LCA思想是,先把所有的查询保存起来,然后dfs一遍树的时候在判断。如果当前节点是要求的两个节点当中的一个,那么再判断另外一个是否已经访问过,如果访问过的话,那么它的最近公共祖先就是当前节点祖先。下面是tarjan离线模板:#include #in...
分类:
其他好文 时间:
2015-10-12 15:44:07
阅读次数:
185