Description: 给定n个点的序列,一开始有n个块,每次将两个块合并,并告诉你这两个块中的一对元素,求一种可能的原序列 Hint: \(n \le 1.5*10^5\) Solution: 实在是SB题 考虑把每对点的祖先连上一个虚点,用并查集维护,最后dfs所得的树就行 为什么是对的,因为这棵树会按时间顺序由下往上合并节点 好像还有一种做法,对每个块的祖先维护一个vector表示顺序,合并时启发式合并,复杂度\(O(nlogn)\) #include <map> #include &…