启发式合并板子(梦幻布丁)
摘要:Link 启发式合并是针对n个集合(总元素个数是O(n))的合并操作,每次将小的集合合并到大的集合 复杂度证明: 考虑每一个元素$$e \in E$$的贡献,如果在某一次合并中该元素被移动,那么集合的大小至少是$$2|E|$$,故复杂度是$$O(nlogn)$$ 具体的题目而言,我们可以看出对于$$
阅读全文
欧拉序+ST表 O(nlogn+q)求LCA
摘要:欧拉序:每次遍历到树上的一个点,就加进欧拉序 如 1 2 3 4 5 这颗树的欧拉序是121343431 这样我们可以发现一个重要的性质:两个点的LCA是欧拉序之间dep最小的点 易发现这是对的,因为LCA肯定会在欧拉序之间,而LCA的祖先不会,因为如果会,说明LCA的这颗子树已经被遍历完了,那
阅读全文