虚树 我们每天都用心思索着,这究竟是为了什么呢?我想我也不知道,只是觉得如果人不思考问题就很无聊. 我觉得虚树不是什么数据结构,就是一种技巧或者工具.它能把树中\(k\)个关键点以\(O(klogk)\)的复杂度变成一棵节点数\(2*k\)以内的树.并且构树的边的信息适用广泛(如最大值,和--) 有两种构树方法:(我这里只讲第一种,第二种男鞋后面看心情) 我们把所有节点按dfn排序,然后相邻两个求的lca加入点中再排序. 用到stack,每个点在加入之前,一直弹栈,直到找到第一个是它祖先的点当做…