题意:给出一个序列,求至少需要用到多少次操作,才能将序列从小到大排序. 思路: 数据量很大,n<500000,所以用冒泡模拟是超时的. 接下来就想到了求顺序数,总共需要交换的次数为每个数后面有多少个小于它的数的累加和. 如9 1 0 5 4,9后面比它小的有4个,1后面比它小的有1个,5后面比它小的有1个,总共为6个,即为答案. 求顺序数自然而然就是想到用树状数组. 但是这里有一点,那就是整数是0~999999999,数据太大,开不了那么大的数组. 由于n最多只有500000,所以最多有50万个…