归并排序求逆序对
来源:互联网 发布:云计算行业报告 编辑:程序博客网 时间:2024/06/04 19:55
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int MAXN=400001;int n,a[MAXN],b[MAXN];int ans;void mergesort(int l,int r){ if (l==r) return; int mid=(l+r)/2; mergesort(l,mid); mergesort(mid+1,r); int i=l,j=mid+1,k=l; while (i<=mid&&j<=r) { if (a[i]<=a[j]) {b[k]=a[i]; k++; i++;} else {b[k]=a[j]; k++; j++; ans+=mid-i+1;} } while (i<=mid) {b[k]=a[i]; i++; k++;} while (j<=r) {b[k]=a[j]; k++; j++;} for (int i=l; i<=r; i++) a[i]=b[i];}int main(){ scanf("%d",&n); for (int i=1; i<=n; i++) scanf("%d",&a[i]); mergesort(1,n); for (int i=1; i<=n; i++) printf("%d ",a[i]); printf("%d",ans); return 0;}/*65 4 2 6 3 1*/
阅读全文
0 0
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对~~~
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 基础练习 十进制转十六进制
- 程序员逆天改命之监控
- tomcat启动失败
- install linux and win10
- 在HTML中使用JavaScript
- 归并排序求逆序对
- C++ 继承公有、私有、保护
- HDU 3535-AreYouBusy
- 树莓派下配置samba共享目录以及通过window和linux访问方法
- java API 操作HDFS文件系统
- spring 5.0 引用外部文件 03
- iOS项目框架
- DDoS详解(三.攻击工具)
- hadoop 之 wordCount流程详解