poj(2299)——Ultra-QuickSort(归并排序求逆序数)
题意:
现在告诉你有n个数,然后你每次可以交换相邻两个序列中的数字,然后问你最少几次可以把这个序列变成一个递增的有序序列。
思路:
今天重新学习了一下归并排序,这个排序是增量的思想,但是又有点分治+递归。
至于怎样用归并来求逆序数的对数呢?我们把序列分成两半,然后如果后面那半的数小于前面那半的数的话,那么就说明在前面那个[p,mid)区间中有mid-p这么多的逆序数,因为归并排序保证了已经
原创
2015-10-01 15:24:14 ·
567 阅读 ·
0 评论