POJUltra-QuickSort(归并排序)
来源:互联网 发布:dns协议udp端口号 编辑:程序博客网 时间:2024/06/09 15:02
原题地址:点击打开链接
题意:就是问你逆序对的个数,用冒泡会超时,所以用归并。
#include<stdio.h>int a[500010];int b[500010];long long res=0;void merge(int l1,int r1,int l2,int r2){int begin=l1,end=r2,low=l1;while(l1<=r1&&l2<=r2){if(a[l1]<a[l2]){b[begin]=a[l1];begin++;l1++;}else{b[begin++]=a[l2++];res+=(r1-l1+1);}}while(l1<=r1)b[begin++]=a[l1++];while(l2<=r2)b[begin++]=a[l2++];while(low<begin){a[low]=b[low];low++;}}void mSort(int left,int right){if(left==right)return ;int mid=(left+right)/2;mSort(left,mid);mSort(mid+1,right);merge(left,mid,mid+1,right);}int main(){int n,i;while(scanf("%d",&n)&&n){res=0;for(i=0;i<n;i++){scanf("%d",&a[i]);}mSort(0,n-1);printf("%lld\n",res);}return 0;}
0 0
- POJUltra-QuickSort(归并排序)
- POJ2299 Ultra-QuickSort(归并排序)
- UVA 10810 - Ultra-QuickSort(归并排序)
- POJ 2299 Ultra-QuickSort(归并排序)
- POJ - 2299 Ultra-QuickSort (归并排序)
- Ultra-QuickSort(归并排序+逆序数)
- 2299 Ultra-QuickSort(归并排序)
- POJ 2299 Ultra-QuickSort (归并排序)
- POJ 2299 Ultra-QuickSort(归并排序)
- POJ 2299 Ultra-QuickSort (归并排序)
- poj2299Ultra-QuickSort(归并排序+树状数组)
- POJ2299--归并排序--Ultra-QuickSort
- POJ_2299 Ultra-QuickSort【归并排序】
- Ultra-QuickSort poj2299归并排序
- 【一题三解】POJ2299 Ultra-QuickSort (归并排序法)
- POJ 2299 Ultra-QuickSort(归并排序求逆序数)
- 10810 - Ultra-QuickSort(归并排序求逆序数)
- Ultra-QuickSort 学习归并排序(树状数组+离散化)
- 记录一下 android ListView代码设置分割线
- likehood function
- c# Task返回值
- Github使用(配置SSHkey)
- Android加载WebView
- POJUltra-QuickSort(归并排序)
- 转载BW笔记
- 从零开始写javaweb框架(第二章)—— 所遇到的问题 与 解决方法
- Android之兼容平板
- .NET-一种实现表格数据滚动显示的方法
- 正则
- hive启动报错,找不到spark的jar包们
- android不死进程-死后拉活
- LeetCode-162. Find Peak Element (JAVA)寻找peak元素