首先本人是一个嵶苟,向前星还不太熟,所以就用vector………….
1.什么是lca: Lca就是指一棵树中某2个点的最近共同祖先
2.一般有哪些方法? 1.dfs 2.RMQ 3.tarjan 4.倍增法
前2种是属于离线算法,后2种属于在线算法,所谓离线算法就是把要查询的点对全部储存起来,再一次性把所有输出,在打比赛的过程中:
in1
out1
in2
out2
和
in1
in2
out1
out2
这2种格式是一致的,所以我们大可用tarjan求lca
代码:
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<string>
#include<string