归并排序求逆序对

详细解释在代码注释里面

本题主要注意的是$ans$要开$longlong$

#include<bits/stdc++.h>
using namespace std;
int n,a[600000],b[600000];
long long ans;
void merge_sort(int l,int r){if (l==r) return;int mid=(l+r)/2;//往下递归 merge_sort(l,mid);merge_sort(mid+1,r);//排序int i=l,j=mid+1,k=l;//操作更新的是l->r的区间 初值赋在l和r while (i<=mid&&j<=r){//在底层递归结束之后 前后两个部分都应该是有序的 if (a[i]<=a[j]) {b[k]=a[i];//把较小的数据放入辅助数组 i++;k++; }else {b[k]=a[j];ans+=mid-i+1;//前一半是有序的那么这个后面的都是逆序对 j++;k++;}}//剩余元素加入数组while(i<=mid) {b[k]=a[i];k++;i++;}  while (j<=r){b[k]=a[j];k++;j++;}for (int p=l;p<=r;p++) a[p]=b[p];
}
int main(){scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%d",&a[i]);merge_sort(1,n);printf("%lld\n",ans);return 0;
}

转载于:https://www.cnblogs.com/Hiraeth-dh/p/10673434.html

题解 P1774 【最接近神的人_NOI导刊2010提高(02)】相关推荐

  1. luogu P1774 最接近神的人_NOI导刊2010提高(02)

    题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着"神的殿堂".小FF猜 ...

  2. 洛谷 P1774 最接近神的人_NOI导刊2010提高(02)

    题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着"神的殿堂".小FF猜 ...

  3. 最接近神的人_NOI导刊2010提高(02)【洛谷P1774】

    题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着"神的殿堂".小FF猜 ...

  4. 洛谷 P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)

    P1796 汤姆斯的天堂梦_NOI导刊2010提高(05) 题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的 ...

  5. 洛谷—— P1775 古代人的难题_NOI导刊2010提高(02)

    P1775 古代人的难题_NOI导刊2010提高(02) 题目描述 门打开了,里面果然是个很大的厅堂.但可惜厅堂内除了中央的一张羊皮纸和一支精致的石笔,周围几具骷髅外什么也没有.难道这就是王室的遗产? ...

  6. P1801 黑匣子_NOI导刊2010提高(06)

    P1801 黑匣子_NOI导刊2010提高(06) 题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个 ...

  7. P1799 数列_NOI导刊2010提高(06)

    P1799 数列_NOI导刊2010提高(06) f[i][j]表示前i个数删去j个数得到的最大价值. if(i-j==x) f[i][j]=max(f[i][j],f[i-1][j]+1); els ...

  8. 方程的解_NOI导刊2010提高(01) 组合数

    题目描述 佳佳碰到了一个难题,请你来帮忙解决. 对于不定方程a1+a2+-+ak-1+ak=g(x),其中k≥2且k∈N,x是正整数,g(x)=x^x mod 1000(即x^x除以1000的余数), ...

  9. 洛谷 P1795 无穷的序列_NOI导刊2010提高(05)

    P1795 无穷的序列_NOI导刊2010提高(05) 题目描述 有一个无穷序列如下: 110100100010000100000- 请你找出这个无穷序列中指定位置上的数字 输入输出格式 输入格式: ...

  10. 洛谷P1807 最长路_NOI导刊2010提高(07) 求有向无环图的 最长路 图论

    洛谷P1807 最长路_NOI导刊2010提高(07) 图论 求有向无环图的 最长路 首先阐明一点 最长路dijkstra 是不能做 (当然我是不会做的,不过我貌似看到过网上的dalao有用dijst ...

最新文章

  1. 鱼佬阿水竞赛相声:我是如何2小时杀进排名前10%的!
  2. Object or Function-JS 中的鸡与蛋问题
  3. ucache来广营(望京)机房
  4. Linux查看进程和进程管理
  5. 28.进程和程序的区别
  6. 引入dubbo依赖的版本是多少_Dubbo 项目学习(四) 接口抽取以及依赖版本统一
  7. 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」
  8. spring3 常见异常解决
  9. 9206-吃货联盟 需求分析
  10. [洛谷P1342]请柬
  11. Windows下使用mingw32
  12. c#中HttpWebRequest使用Proxy实现指定IP的域名请求
  13. git fatal: The remote end hung up unexpectedly 错误
  14. 哈夫曼信源编码matlab,HomeWork4.m
  15. 金地农村土地承包经营权证打证系统
  16. JavaWeb基础(黑马配套)
  17. 服务网关(Gateway)自定义全局过滤器统一Token处理
  18. veket+linux+v7,veket linux安装工具
  19. 曾惊动中国大使馆的欧洲专利流氓迎来中国企业的连续痛击
  20. Android软件中嵌入地图之三:Google地图

热门文章

  1. c语言双引号的三个作用是什么,文中“说话” 一词上所加引号的作用是什么
  2. 编写一个程序,模拟默认密码的自动生成策略,手动输入用户名,根据用户名自动生成默认密码。在生成密码时,将用户名反转即为默认的密码。
  3. pvcreate出错: Can't open /dev/sdb7 exclusively. Mounted filesystem?
  4. 思维导图的10种类型有哪些?思维导图结构详解
  5. 中高级测试工程师面试题(不断补充中)
  6. smtplib 抄送邮件_Smtp发送及抄送邮件
  7. centos修改ftp服务器密码是什么,centos ftp服务器密码忘记了
  8. 开源网站的漏洞复现(appcms、wordpress)
  9. Linux安装显卡驱动
  10. 2022年嵌入式系统设计师考试大纲