逆序队专题

server/2024/10/22 17:38:14/

逆序对的定义是,在一个数组中,对于下标 ( i ) 和 ( j )(其中 ( i < j )),如果 ( a[i] > a[j] ),则称 ((a[i], a[j])) 为数组的一个逆序对。

换句话说,逆序对就是在数组中前面的元素大于后面的元素的情况。例如,对于数组 ([3, 1, 2]),其中的逆序对有 ((3, 1)) 和 ((3, 2)),所以该数组有 2 个逆序对。

如何利用树状数组求逆序对

我们来看一个题目在这里插入图片描述
我们首先需要离散化数据,然后先处理值大的数据,值相同的位置大的先处理

#include<bits/stdc++.h>
using namespace std;#define int long long
const int N = 500005;struct node{int va,pos;bool operator<(node ot){if(va>ot.va) return true;else if(va==ot.va ) return pos>ot.pos;return false;}
}b[N];
int a[N];
int n;int lowbit(int x){return x & (-x);
}void add(int x,int p){for(int i=x;i<=n;i+=lowbit(i)){a[i] += p;}
}int find(int x){if(x==0) return 0;return a[x]+find(x-lowbit(x));
}signed main(){cin >> n;for(int i=1;i<=n;i++){scanf("%d",&b[i].va );b[i].pos = i;}sort(b+1,b+1+n);int ans = 0;for(int i=1;i<=n;i++){ans += find(b[i].pos-1);add(b[i].pos,1);}cout << ans;return 0;
}

http://www.ppmy.cn/server/48226.html

相关文章

2024年工业设计与制造工程国际会议(ICIDME 2024)

2024年工业设计与制造工程国际会议 2024 International Conference on Industrial Design and Manufacturing Engineering 会议简介 2024年工业设计与制造工程国际会议是一个集结全球工业设计与制造工程领域精英的盛会。本次会议旨在为业界专家、学者、工程技术人员提供一个分享…

【Kubernetes】Ingress 对外服务、ingress-controlle

Ingress 简介 service的作用体现在两个方面&#xff1a; 对集群内部&#xff0c;它不断跟踪pod的变化&#xff0c;更新endpoint中对应pod的对象&#xff0c;提供了ip不断变化的pod的服务发现机制&#xff1b; 对集群外部&#xff0c;他类似负载均衡器&#xff0c;可以在集群内…

jdk8连接sqlserver数据库

这里写目录标题 解决方案:1.进入jdk的安装目录:2. 删除TLSv1、TLSv1.1、3DES_EDE_CBC 删除3.jdk、jre下面的security都需要删除![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d93467a91c8d47c2a4b95842e34a9ef1.png) 报错原因:The server selected protocol versi…

java的反射和python的鸭子类型

Java的反射&#xff08;Reflection&#xff09;和Python的鸭子类型&#xff08;Duck Typing&#xff09;感觉相似但又说不出具体的细节&#xff0c;本文借助kimi试图给出总结。 相似之处&#xff1a; 动态性&#xff1a;Java的反射允许程序在运行时查询、创建和修改类和对象的…

LabVIEW飞机发动机测试与故障诊断系统

LabVIEW飞机发动机测试与故障诊断系统 基于LabVIEW开发了一个飞机发动机测试与故障诊断系统&#xff0c;能够实时监测发动机的运行参数&#xff0c;进行数据采集与分析&#xff0c;并提供故障诊断功能。系统采用高精度传感器和数据采集硬件&#xff0c;适用于发动机的性能测试、…

【图解IO与Netty系列】Reactor模型

Reactor模型 Reactor模型简介三类事件与三类角色Reactor模型整体流程 各种Reactor模型单Reactor单线程模型单Reactor多线程模型主从Reactor模型 Reactor模型简介 Reactor模型是服务器端用于处理高并发网络IO请求的编程模型&#xff0c;与传统的一请求一线程的同步式编程模型不…

鸿蒙全栈开发-揭秘鸿蒙UIAbility的作用

前言 “鸿蒙生态原生应用已超过4000&#xff0c;鸿蒙生态设备超过8亿台&#xff0c;开发者超220万人&#xff0c;鸿蒙系统在中国市场份额超过15%&#xff0c;成为第三大系统&#xff0c;鸿蒙生态枝繁叶茂。”这是鸿蒙生态服务公司总经理杜金彪在5月20日举行的鸿蒙生态万象新原…

Qt | QtBluetooth(蓝牙电脑当服务端+手机当客户端) 配对成功啦

01、前言 没有演示,因为穷,电脑没有带蓝牙,但是已在其他电脑进行演示,可以满足配对,后期再补充和手机进行聊天,如果有聊天的记得私聊我,好处大大滴。02、QtBlueTooth 简介 QtBluetooth 是一个跨平台的蓝牙库,它允许开发者创建在支持蓝牙的设备上运行的应用程序。这个库…