【算法】788. 逆序对的数量

news/2025/2/22 3:17:55/

题目

逆序对的数量

思路

在归并排序的基础上求逆序数,如果l-mid中的数大于mid+1-r中的数,则i和i之后的所有数都是指针j所指数的逆序数。与归并算法不同的是,本题需要有返回值,返回逆序数的数量。

代码

#include<iostream>
using namespace std;
typedef long long ll;
const int N = 100010;
int n;
int a[N], temp[N];
ll merge_sort(int l, int r)
{if (l >= r){return 0;}int mid = (l + r) / 2;ll sum=merge_sort(l, mid)+merge_sort(mid + 1, r);int k = 0, i = l, j = mid + 1;while (i <= mid && j <= r){if (a[i] <= a[j]){temp[k++] = a[i++];}else{temp[k++] = a[j++];sum = sum + mid - i + 1;}}while (i <= mid){temp[k++] = a[i++];}while (j <= r){temp[k++] = a[j++];}for (int i = l, j = 0;i <= r;i++, j++){a[i] = temp[j];}return sum;
}
int main()
{cin >> n;for (int i = 0;i < n;i++){cin >> a[i];}cout << merge_sort(0, n - 1) << endl;return 0;
}

http://www.ppmy.cn/news/1573651.html

相关文章

AD(Altium Designer)器件封装——立创商城导出原理图和PCB完成器件封装操作指南

1、立创商城下载原理图和PCB图 1.1 打开立创商城 官网:www.SZLCSC.COM 1.2 寻找所需器件 以芯片为例 器件类——>芯片类——>对应芯片 1.3 确定所需芯片 确定芯片——>数据手册 1.4 打开原理图和PCB图 1:原理图 2:PCB 3:打开 1.5 导出原理图 操作

sql server 数据库 锁教程及锁操作

SQL Server数据库 锁的教程 SQL Server 的数据库锁是为了保证数据库的并发性和数据一致性而设计的。锁机制能够确保多个事务不会同时修改同一数据&#xff0c;从而避免数据冲突和不一致的发生。理解 SQL Server 的锁机制对于开发高效、并发性强的数据库应用非常重要。 1. 锁的…

【C/C++】后缀表达式 蓝桥杯/ACM备赛

核心考点&#xff1a;1.栈的应用 2.字符串处理 题目描述 所谓后缀表达式是指这样的一个表达式&#xff1a;式中不再引用括号&#xff0c;运算符号放在两个运算对象之后&#xff0c;所有计算按运算符号出现的顺序&#xff0c;严格地由左而右新进行&#xff08;不用考虑运算符的…

电脑机箱散热风扇声音大的影响因素

在使用电脑的过程中&#xff0c;机箱风扇声音过大常常会给用户带来困扰。了解导致机箱风扇声音大的影响因素&#xff0c;对于解决这一问题、提升电脑使用体验至关重要。 首先&#xff0c;风扇的质量是一个关键因素。一些低价、劣质的机箱风扇&#xff0c;在制造工艺上往往存在缺…

「软件设计模式」桥接模式(Bridge Pattern)

深入解析桥接模式&#xff1a;解耦抽象与实现的艺术 一、模式思想&#xff1a;正交维度的优雅解耦 桥接模式&#xff08;Bridge Pattern&#xff09;通过分离抽象&#xff08;Abstraction&#xff09;与实现&#xff08;Implementation&#xff09;&#xff0c;使二者可以独立…

成熟开发者需具备的能力

精业务 • 指深入理解和熟悉所开发软件的业务逻辑和需求。 • 开发者需要明确软件要解决的问题、面向的用户群体以及核心功能等。 • 精业务有助于开发者更好地设计系统架构、编写符合业务需求的代码&#xff0c;并能根据业务变化灵活调整开发计划。 懂原理 • 指掌握编程的基…

论文笔记(七十二)Reward Centering(二)

Reward Centering&#xff08;二&#xff09; 文章概括摘要2 简单的奖励中心 文章概括 引用&#xff1a; article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arXiv preprint arXiv:2405.0…

Python基于循环神经网络的情感分类系统(附源码,文档说明)

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…