摘要:
http://poj.org/problem?id=2299给定一个整数数列,相邻之间的数可以互换,求最少要多少次互换后得到一个升序数列。本题说白了就是求解逆序对问题(关于逆序对请参考:http://baike.baidu.com/view/689576.htm),接下来便是用归并排序来解逆序对了。#include <stdio.h>#include <stdlib.h>#define MAX 500001int n, a[MAX], t[MAX];__int64 sum;void Merge(int l, int m, int r){ int p = 0; int i 阅读全文