题意:给定一个数组,有Q次的询问,每次询问的格式为(l,r),表示求区间中一个数x,使得sum = sigma|x - xi|最小(i在[l,r]之间),输出最小的sum. 思路:本题一定是要O(nlogn)或更低复杂度的算法.首先很容易得出这个x的值一定是区间(l,r)的中位数的取值,排序之后,也就是假设区间(l,r)长度为len ,则中位数就是该区间的第(r - l) / 2 - 1小的元素,求一个区间的第K小元素的算法很自然地会想到划分树, 而且划分树的查询复杂度为:O(logn),正好可…