裸的LCA离线算法,存下来当模板用吧。思想就是,将所有的查询都先存起来,然后对树做一次dfs遍历,对每一次经过的节点进行染色,标记为未访问,正在访问,和已经访问完毕。可以很明显的发现如果当前点是一个查询的端点,那么如果另外一个端点正在访问,则当前点是另外一个端点的子节点,两者的LCA为另外一个端点,...
分类:
其他好文 时间:
2014-10-31 20:34:28
阅读次数:
217
之前就写的是离线算法。思路就是先序一遍树,记录层数,然后高效RMQ就好。ST和线段树都能过。以后有时间将之前的在线算法补上。#include using namespace std;#define MAXN 100005#define MAXM 105#define inf 0x7ffffffint...
分类:
其他好文 时间:
2014-10-29 01:41:39
阅读次数:
269
题目来源:最近公共祖先·一时间限制:10000ms单点时限:1000ms内存限制:256MB题目描述小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其中,但这是为什么呢?“为什么呢?”小Hi如是问道,在他的观察中小Ho已经沉迷这个网站一周之久了,甚至连他心爱的...
分类:
其他好文 时间:
2014-10-22 08:44:53
阅读次数:
192
题目1 : 最近公共祖先·二
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
上上回说到,小Hi和小Ho用非常拙劣——或者说粗糙的手段山寨出了一个神奇的网站,这个网站可以计算出某两个人的所有共同祖先中辈分最低的一个是谁。远在美国的他们利用了一些奇妙的技术获得了国内许多人的相关信息,并且搭建了一个小小的网站来应付来自四面...
分类:
其他好文 时间:
2014-10-17 23:25:25
阅读次数:
261
续上个unkown,这里mark一下,接下来觉得还有可能考到,且自己不会的东西(或不太会)数学方面: 随机化,概率,简单的几何计算,杂七杂八的数论,组合数学中的差分,康托展开,高斯消元,线性规划树: 最近公共祖先,树上倍增,DFS序列,树链图: 差分约束!强连通分量,欧拉回路字符串: tries树!...
分类:
其他好文 时间:
2014-10-16 16:09:22
阅读次数:
174
老实说我没有读题,看见标题直接就写了,毕竟hiho上面都是裸的算法演练。大概看了下输入输出,套着bin神的模板,做了个正反map映射,但是怎么都得不了满分。等这周结束后,找高人询问下trick。若是有人找出了错误,或是发现代码中的不足,求指出。感激!~以下是个人80分的代码。 1 #include....
分类:
其他好文 时间:
2014-10-15 09:14:38
阅读次数:
280
一道多次询问的最近公共祖先问题。
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 40000 + 10;
struct Edge{
int to,cost;
Edge(){};
Edge(int _to,int _cost)
...
分类:
其他好文 时间:
2014-10-13 22:33:37
阅读次数:
208
以前也没怎么听过这个算法,网络赛中有个题好像是什么最近公共祖先,看了一下这个算法,是一个动态规划,核心思想是倍增. 用途:解决rmq问题,例如给一个序列{an},询问是任意一个区间(l,r)中最小的数或者最大的数. 时间复杂度:预处理的时间是O(nlogn) 查询:O(1) 局限性:只能处...
分类:
其他好文 时间:
2014-10-09 01:34:57
阅读次数:
177
/* *算法引入: *树上两点的最近公共祖先; *对于有根树的两个结点u,v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u,v的祖先且x的深度尽可能大; *对于x来说,从u到v的路径一定经过点x; * *算法思想: *Tarjan_LCA离线算法; *Tarjan算法基...
分类:
其他好文 时间:
2014-10-04 18:57:16
阅读次数:
146
题目1 : 最近公共祖先·一时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其中,但这是为什么呢?“为什么呢?”小Hi如是问道,在他的观察中小Ho已经沉迷这个网站一周之久了,甚至连他心爱的树...
分类:
其他好文 时间:
2014-09-30 01:23:11
阅读次数:
571