一眼应该能看出来这道题朴素算法是冒泡排序,但是逆序对这类题要求复杂度小于等于O(nlogn), 因此可以用线段树,树状数组,归并排序之类的试试。

洛谷上有一样的题:逆序对 - 洛谷

AC代码(归并排序)

#include <bits/stdc++.h>
using namespace std;int n,a[100001],b[100001];
long long ans;void merge(int l,int r){if(l==r)return;int mid=l+r>>1;merge(l,mid);merge(mid+1,r);//[l,i,mid][mid+1,j,r]int i=l,j=mid+1,k=l;while(i<=mid and j<=r){if(a[i]<a[j])b[k++]=a[i++];else b[k++]=a[j++],ans+=mid-i+1;//放入a[j],说明a[i,mid]都比a[j]大,产生mid-i+1个逆序对}while(i<=mid)b[k++]=a[i++];while(j<=r)b[k++]=a[j++];for(i=l;i<=r;++i)a[i]=b[i];
}int main(){ios::sync_with_stdio(false);cin.tie(nullptr),cout.tie(nullptr);cin>>n;for(int i=1;i<=n;++i)cin>>a[i];merge(1,n);cout<<ans;return 0;
}

2023首届大学生算法大赛 - 逆序对相关推荐

  1. 2023首届大学生算法大赛——补题

    1. 拿饼干 内存限制:128Mb 时间限制:1s 题目描述 小明今天外出野炊.他的母亲为他制作了M种他喜欢的饼干,共有N块.每块饼干都被标了编号,从1一直标到N.第i块饼干的重量是W[i].饼干种类 ...

  2. 2023首届大学生算法大赛 - 村庄

    读题可以发现,如果两个村庄不能互相连通,那就算作一对 (a<b). 显然是可以用floyd全局多源最短路来做的,如果不存在最短路,那么就是不能互通,但是这道题的数据范围N<=10^5,跑f ...

  3. 2023首届大学生算法大赛 - 拿饼干

    读题可以发现是分组背包问题,但是要求每个组别至少用上一个,所以调用的前一种状态必须是已经含有前一组的物品,打个标记即可. #include <bits/stdc++.h> using na ...

  4. 分治算法,逆序对,三维偏序与CDQ分治

    分治算法基本思想 当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出. 对于这类问题,我们往往先把它分解成几个子问题,找到求出 ...

  5. 算法-计算逆序对个数

    求逆序对的个数 特点:利用归并排序中合并的步骤,计算逆序对 时间复杂度O(nlgn) int merge_inversion(int *arr,int start,int end,int middle ...

  6. 奖金16万!首届电子商务AI算法大赛ECAA报名开启

    由商务部和北京市人民政府主办的2021中国电子商务大会将于9月在京开幕.作为此次大会的重要组成部分,由第四范式承办的首届电子商务AI算法大赛ECAA(Electronic Commercial AI ...

  7. 蓝桥杯-逆序对(java)

    算法训练 逆序对   时间限制:1.0s   内存限制:256.0MB 问题描述 Alice是一个让人非常愉跃的人!他总是去学习一些他不懂的问题,然后再想出许多稀奇古怪的题目.这几天,Alice又沉浸 ...

  8. HDU 4911 http://acm.hdu.edu.cn/showproblem.php?pid=4911(线段树求逆序对)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 解题报告: 给出一个长度为n的序列,然后给出一个k,要你求最多做k次相邻的数字交换后,逆序数最少 ...

  9. 逆序对java_算法导论学习||查找逆序对

    查找逆序对很简单,自己变成就是几行,思路也是十分简单.但是题目要求用递归的方法,和合并排序很相似,网上也有很多人提供具体的程序,但是我对这种递归排序还是不能清晰得理解,所以在这里就不贴出来了,只放上了 ...

最新文章

  1. P4391 [BOI2009]Radio Transmission 无线传输
  2. 【数据结构与算法】之深入解析KMP算法的核心原理和实战演练
  3. TCollector
  4. python实现批量压缩文件夹
  5. mysql集群重启报错lock_CentOS7.2 下 MySQL 之 PXC 集群部署【Docker+单机多节点】
  6. centos6 yum安装mysql5.6_centos 6.5 yum安装mysql 5.6
  7. Stateflow_duration计时
  8. Mongo查询数据库及表占用磁盘大小
  9. 奶瓶(beini)破解无线密码流程:安装、抓包、从虚拟机(VMware)拷贝握手包(拷贝到硬盘、U盘)、跑包...
  10. Servlet JSP 面试题
  11. 电脑上怎么彻底卸载一个软件--Geek Uninstaller
  12. 设计模式——责任链模式(职责链模式)
  13. H3CIE(WLAN)学习笔记(1)——电磁场基础
  14. GDT、LDT和IDT
  15. c/c++ 二维数组指针参数传递 矩阵计算实例
  16. OpenAI开源Point-E,可在Nvidia V100 GPU上1-2分钟生成3D模型
  17. 基于ASP.NET小微企业人力资源管理系统
  18. 2008年世界顶级防火墙排名
  19. Liunx网络技术管理及进程管理
  20. 怎么批量给图片加纯色边框?

热门文章

  1. OCR识别技术 文档识别的三种形式
  2. Tableau图表 • 蝴蝶图
  3. “黎明号”(Dawn)深空航天器与高效离子引擎
  4. 山东建筑大学计算机学院孙倩,山东建筑大学毕业设计答辩.pdf
  5. 淘晶驰串口屏入门(五)下拉框 选择文本 动画 视频 外部图片
  6. 淘晶驰串口屏入门(三)按钮、双态按钮、状态开关、图片、切图、触摸热区
  7. Parameter 参数与 Argument 参数
  8. 机器学习常用专业术语(英汉)
  9. 2020-12-10 MATLAB学习小结(十九)
  10. gps芯片接收GPS数据分析