众所周知,lca可以通过一次dfs求出每次访问的深度以及每个结点访问的时间戳然后对两节点时间戳之间的深度求最小值(语文不好见谅),时间复杂度是 O(nlogn)O(n \log n)O(nlogn) 。
本来也没有什么疑问的,但是吧,一个节点被访问的次数可能大于1。因此你rmq的长度可能是节点个数的几倍 。
那么,此时时间复杂度到底是多少,还是说忽略常系数时间复杂度不变