poj1804 归并排序求逆序对
来源:互联网 发布:淘宝的详情页在线制作 编辑:程序博客网 时间:2024/04/29 03:03
#include<iostream>#include<cstdio>#include<cstdlib>using namespace std;const int maxn=1005;int tmp[maxn],a[maxn];int ans;void merge(int l,int mid,int r){ int i=l,j=mid+1,k=l; while(i<=mid&&j<=r) { if(a[i]>a[j]) { tmp[k++]=a[j++]; ans+=mid+1-i; } else tmp[k++]=a[i++]; } while(i<=mid) tmp[k++]=a[i++]; while(j<=r) tmp[k++]=a[j++]; for(int i=l;i<=r;i++) a[i]=tmp[i];}void merge_sort(int l,int r){ if(l<r) { int mid=(l+r)>>1; merge_sort(l,mid); merge_sort(mid+1,r); merge(l,mid,r); }}int main(){ int n,t,cnt=0; scanf("%d",&t); for(int i=1;i<=t;i++) { cnt++; ans=0; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); merge_sort(1,n); printf("Scenario #%d:\n%d\n\n",cnt,ans); } return 0;}
3 0
- poj1804 归并排序求逆序对
- poj1804 Brainman 归并排序求逆序对
- POJ1804-Brainman(归并排序求逆序数)
- poj1804(归并排序求逆序数)
- poj1804和poj2299归并排序求逆序数
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对~~~
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- EJB——实体Bean
- fast-rcnn配置运行demo.py(Ubuntu14.04)
- 使用gradle开启multiDex时,如何配置MainDex
- socket创建过程
- POJ 3233
- poj1804 归并排序求逆序对
- befor-after两个伪元素
- const 和 #define区别
- Android--事件分发机制
- vmware workstation安装centos虚拟机
- 【自考总结】——栈
- PHP中的Memcache详解
- 转型学习心得_js笔记
- 性能测试