Written with StackEdit.
一维数组 从[1]开始 层序排列 [k]的左儿子是2k 右是[2k+1]
时间复杂度为 n l o g k nlogk nlogk
给出两个长度为n的有序表A和B, 在A和B中 各任取一个, 可以得到n2个和. 求这些和最小的n个. 可以看作长为len(A)的有序表*len(B)
A[1]+B[1] <= A[1]+B[2] <= A[1]+B[3] <=…A[2]+B[1] <= A[2]+B[2] <= A[2]+B[3] <=……A[n]+B[1] <= A[n]+B[2] <= A[n]+B[3] <=…然后k路归并截取n项.并查集维护一些不相交集合S={S1, S2, …, Sr}, 每个集合Sr都有一个特殊元素rep[Si], 称为集合代表. 用途:验证节点和修改后的节点的连通性
创造一个新的集合{x}
合并两个集合.
返回元素在集合中的代表.
例子以后加.
