题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 题意: 给出一个序列,可以相邻的交换k次,求 k 次之后,逆序数对最少是多少: 分析: 可以发现,无论怎么交换之后,总共的逆序数对只会-1,那么结果就是,将这个序列排整齐时,要两两交换的次数-k:题目就转换为求这个序列的逆序数对有多少: 这样的两两交换好像是冒泡排序,冒泡排序是O(n^2): 正确解法是归并排序:当我们合并两个有序序列时,如果,要将后面的插入到前一个中间,那么这里就有m-i+1