摘要:
划分树是在建树的过程中保存快速排序。划分树同样以1 5 2 6 3 7为例:根据中位数mid,将区间划分成左子树中的数小于等于mid,右子树中的数大于等于mid,得到这样一棵划分树: [1 5 2 6 3 7] [1 2 3] [5 6 7] [1 2] [3] [5 6] [7] [1] [2] [5] [6]注意要保持下标的先后顺序不变对每一个区间,用sum[i]记录区间的左端点left到i有几个进入了左子树,即有几个数小于等于mid用对应的下标区间建线段树:(这里下标区间对应的是排序后的数列) [1 6] [1 3] [4 6] [1 2] [3] [4 5][6] [1][2... 阅读全文