题意: 给定一棵有根树T,给出若干个查询lca(u, v)(通常查询数量较大),每次求树T中两个顶点u和v的最近公共祖先,即找一个节点,同时是u和v的祖先,并且深度尽可能大(尽可能远离树根).通常有以下几种算法: 在线算法,每次读入一个查询,处理这个查询,给出答案. 离线算法,一次性读入所有查询,统一进行处理,给出所有答案. 在线: 倍增(基于二分搜索): 基本思想就是让u和v同时走到同一高度,然后再一起一步步往上走. 将父亲结点的父亲结点利用起来,依次计算,便可以得到从当前结点向上走2k步所到…