博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一些模板
阅读量:4565 次
发布时间:2019-06-08

本文共 772 字,大约阅读时间需要 2 分钟。

归并排序模板

以后可能会有更详细介绍

#include
#include
const int N=5e5+100;using namespace std;int n,a[N],b[N];long long num;void msort(int l,int r){ if (l==r) return ; int mid=(l+r)>>1; msort(l,mid); msort(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++]; else { num=num+mid-i+1; // 求逆序对 b[k++]=a[j++]; } while (i<=mid) b[k++]=a[i++]; while (j<=r) b[k++]=a[j++]; for (int i=l;i<=r;i++) a[i]=b[i]; return ;}int main(){ scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",a+i); msort(1,n); for (int i=1;i<=n;i++) printf("%d ",a[i]); printf("\n"); printf("%lld",num); //输出逆序对 return 0;}

转载于:https://www.cnblogs.com/last-diary/p/10639153.html

你可能感兴趣的文章
android学习之handler
查看>>
《HTTP 权威指南》笔记:第十二章 基本认证体制
查看>>
sizeof() strlen()
查看>>
蓝桥杯-地宫取宝
查看>>
WorldWind源码剖析系列:星球表面渲染类WorldSurfaceRenderer
查看>>
利用MATLAB软件对数码相机进行检校
查看>>
python3之运算符
查看>>
创建控制器的方法、控制器加载view过程、控制器view的生命周期、多控制器组合...
查看>>
Angualr6访问API
查看>>
使用SQLAlchemy对博客文章进行分页
查看>>
spell checking
查看>>
Java设计模式视频讲解
查看>>
面试 9:Java 玩转冒泡排序
查看>>
线程初步了解 - <第一篇>
查看>>
NET(C#):使用HttpWebRequest头中的Range下载文件片段
查看>>
scrollTop()--返回或设置匹配元素的滚动条的垂直位置
查看>>
JavaScript学习 - 基础(八) - DOM 节点 添加/删除/修改/属性值操作
查看>>
解决SharePoint2010文档库中新建文档不是保存到文档库而是保存到本地电脑的问题...
查看>>
hadoop3.0新特性及新功能
查看>>
数据库面试常问的一些基本概念
查看>>