POJ 1904 Brainman(归并求逆序数)
来源:互联网 发布:学日语软件樱花 编辑:程序博客网 时间:2024/05/19 04:28
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[1005];int c[1005];int n,cnt;void MergeSort(int l, int r){ int mid, i, j, tmp; if( r > l+1 ) { mid = (l+r)/2; MergeSort(l, mid); MergeSort(mid, r); tmp = l; for( i=l, j=mid; i < mid && j < r; ) { if( a[i] > a[j] ) { c[tmp++] = a[j++]; cnt += mid-i; } else c[tmp++] = a[i++]; } if( j < r ) for( ; j < r; ++j ) c[tmp++] = a[j]; else for( ; i < mid; ++i ) c[tmp++] = a[i]; for ( i=l; i < r; ++i ) a[i] = c[i]; }}int main(){ int T; int Case=1; //freopen("d:\\test.txt","r",stdin); scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=0; i<n; i++) { scanf("%d",&a[i]); } memset(c,0,sizeof(c)); cnt=0; MergeSort(0,n); printf("Scenario #%d:\n%d\n\n",Case++,cnt); } return 0;}
0 0
- POJ 1904 Brainman(归并求逆序数)
- poj 1804 (归并排序求逆序数)Brainman
- POJ1804-Brainman(归并排序求逆序数)
- poj 1804 (nyoj 117)Brainman : 归并排序求逆序数
- poj 1804 Brainman(归并排序求逆序对)
- POJ 1804 Brainman (归并排序 -- 求逆序对数)
- poj1804 Brainman 归并排序求逆序对
- poj 1804 Brainman(求逆序对)
- poj 2299 归并排序求逆序数
- poj 2299 归并求逆序数
- POJ1804《Brainman》方法:归并排序找逆序数
- 归并求逆序数
- 归并求逆序数
- POJ 1804 Brainman 分治排序求逆序对
- Poj-2299 [用归并排序求逆序数的个数]
- poj 2299 Ultra-QuickSort(归并排序求逆序数)
- Poj 2299 Ultra-QuickSort(归并排序求逆序数)
- poj 2299 Ultra-QuickSort :归并排序求逆序数
- D客周刊 了解D客商城最新动态资讯
- mysql修改初始密码
- (xcode5.0 DEV target:iOS5.0) Could not find a storyboard named 'Main_iPhone.storyboard' in bundle,解决
- 宏与内联函数的差异探究----自定义MIN函数引发的错误反省
- 解码器寄存器控制
- POJ 1904 Brainman(归并求逆序数)
- DevStack安装问题,git clone noVNC.git失败
- UITabbarController的高度调整和背景图片的添加
- maven+springjpa+hibernate
- Best Time to Buy and Sell Stock
- 文搏实业 生产、销售一体化
- 对象访问
- sharepoint 设置webpart 直接空隙
- jackson的一个异常