排队问题--逆序对应用

对于逆序对,我们可以用树状数组的方式来求,但是值得注意的是,我们逆序对一般求的是比这个元素小的个数(位置可以是前或者后),那么求比这个元素大的个数怎么办,我们可以用 i - query() !!!

在这里插入图片描述

每个元素交换的个数就是在它之前且比它大和在它之后比它小的元素个数之和

#include<bits/stdc++.h>
using namespace std;#define int long long
int n;
const int N = 1e6 + 5;
int a[N];
int b[N];
int c[N];
int lowbit(int x) { return x & (-x); }void add(int x, int p) {for (int i = x; i <= N-1; i += lowbit(i)) {b[i] += p;}
}int query(int x) {int sum = 0;for (int i = x; i; i -= lowbit(i)) {sum += b[i];}return sum;
}signed main() {cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i];a[i] += 1;}// 开始算自己后面比自己小的个数for (int i = n; i >= 1; i--) {c[i] += query(a[i]-1);add(a[i], 1);}memset(b, 0, sizeof b);for (int i = 1; i <= n; i++) {c[i] += (i - 1 - query(a[i]));add(a[i], 1);}int ans = 0;for (int i = 1; i <= n; i++) {ans += ((c[i] + 1) * c[i]) / 2;}cout << ans;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生物安全柜验证:气流流型、粒子、浮游菌等参考标准

生物安全柜也是制药行业常见设备&#xff0c;根据GMP的要求&#xff0c;需对生物安全柜定期进行验证确认&#xff0c;确保生物安全柜的性能满足GMP洁净厂房的相关要求。 生物安全柜是实验室的基本设备&#xff0c;也是生物安全实验室的一级安全隔离屏障。其最重要的作用就是气流…

Windows与Linux双机热备软件推荐

网络数据安全在如今信息化的时代越来越变得举足轻重&#xff0c;因此服务器维护和管理也成为企业健康稳定运营的一项重要工作。但实际情况是很多公司并没有配备专业的运维人员&#xff0c;一般都会通过一些管理软件维护或者主机托管给服务商。整理6款服务器的Windows与Linux双机…

JAVA-----异常处理

一、定义 在 Java 中&#xff0c;异常&#xff08;Exception&#xff09;是指程序在执行过程中遇到的不正常情况&#xff0c;这些情况可能导致程序无法继续执行或产生错误的结果。异常可以是 Java 标准库中提供的内置异常类&#xff0c;也可以是开发人员自定义的异常类。 二、…

Laravel数据库的魔术:数据库种子(Seeders)的实现指南

Laravel数据库的魔术&#xff1a;数据库种子&#xff08;Seeders&#xff09;的实现指南 在Laravel的世界里&#xff0c;数据库种子&#xff08;Seeders&#xff09;是一种优雅的方式来填充数据库&#xff0c;它允许开发者快速地为开发和测试环境创建所需的数据。通过使用Seed…

设计模式10-抽象工厂

抽象工厂 Abstract Factory 动机原理 结构优点代码推导不使用抽象工厂模式使用抽象工厂模式对比分析不使用抽象工厂模式的缺点使用抽象工厂模式的优点 抽象工厂&#xff08;Abstract Factory&#xff09;设计模式是一种创建型模式&#xff0c;它提供了一个接口&#xff0c;用于…

PyTorch面部表情识别项目实战

新书速览|PyTorch深度学习与企业级项目实战-CSDN博客 本书案例比较丰富、比较完整&#xff0c;可以用于课题研究、毕业论文素材&#xff0c;值得大家收藏。 人脸表情是人类信息交流的重要方式&#xff0c;它所包含的人体行为信息与人的情感状态、精神状态、健康状态等有着极为…

Docker自建私有仓库遇到https问题

记录一下自己在自建Docker仓库的时候遇到的一个报错 问题 docker push registry:5000/library/centos:7 The push refers to repository [registry:5000/library/centos] Get "https://registry:5000/v2/": http: server gave HTTP response to HTTPS client解决办…

关于Ubuntu22.04中的Command ‘vim‘ not found, but can be installed with:

前言 在Ubuntu终端编辑文本内容时需要利用vim&#xff0c;但新安装的虚拟机中并未配置vim&#xff0c;本文记录了vim的安装过程。 打开终端后&#xff0c;在home目录中输入 vim test.txt但提示报错&#xff0c;提示我们没有找到vim&#xff0c;需要通过以下命令进行安装&…

yearrecord——一个类似痕迹墙的React数据展示组件

介绍一下自己做的一个类似于力扣个人主页提交记录和GitHub主页贡献记录的React组件。 下图分别是力扣个人主页提交记录和GitHub个人主页的贡献记录&#xff0c;像这样类似痕迹墙的形式可以比较直观且高效得展示一段时间内得数据记录。 然而要从0实现这个功能还是有一些麻烦得…

vue搜索框过滤--- computed、watch区别

vue组件选项&#xff08;component options&#xff09; 1. computed&#xff08;计算属性&#xff09; 用途&#xff1a;computed属性用于声明性地描述一些依赖其它响应式属性的数据。当依赖的响应式属性变化时&#xff0c;计算属性会自动重新求值。缓存&#xff1a;计算属性…

等保-Linux等保测评

等保-Linux等保测评 1.查看相应文件&#xff0c;账户xiaoming的密码设定多久过期 rootdengbap:~# chage -l xiaoming Last password change : password must be changed Password expires : pass…

数据库管理-第221期 Oracle的高可用-04(20240717)

数据库管理221期 2024-07-17 数据库管理-第221期 Oracle的高可用-04&#xff08;20240717&#xff09;1 ADG2 连接配置2.1 TNS2.2 JDBC2.3 JAVA连接池2.3.1 Oracle UCP2.3.2 应用连接池基础配置 总结 数据库管理-第221期 Oracle的高可用-04&#xff08;20240717&#xff09; 作…

mysql5.7版本字符集编码

默认character_set_databaselatin1 当你字段插入中文值的时候&#xff0c;会报错。 所以修改为了character_set_databaseutf8既可以。 character_set_server他的范围更大&#xff0c;属于服务器级别。

自然语言处理NLP--文本相似度面试题

自然语言处理NLP--文本相似度面试题 问题 1: 什么是文本相似度&#xff0c;如何在搜索系统中应用&#xff1f;问题 2: 如何使用TF-IDF进行文本相似度计算&#xff1f;问题 3: 使用Word2Vec进行文本相似度计算的过程是怎样的&#xff1f;问题 4: BERT如何用于文本相似度计算&…

LeetCode 852, 20, 51

目录 852. 山脉数组的峰顶索引题目链接标签二分思路代码 三分思路代码 20. 有效的括号题目链接标签思路代码 51. N 皇后题目链接标签思路回溯如何保证皇后之间无法互相攻击 代码 852. 山脉数组的峰顶索引 题目链接 852. 山脉数组的峰顶索引 标签 数组 二分查找 二分 思路…

网络安全-网络安全及其防护措施6

26. 访问控制列表&#xff08;ACL&#xff09; ACL的定义和作用 访问控制列表&#xff08;ACL&#xff09;是一种网络安全机制&#xff0c;用于控制网络设备上的数据包流量。通过ACL&#xff0c;可以定义允许或拒绝的流量&#xff0c;增强网络的安全性和管理效率。ACL通过在路…

逍遥模拟器安装Magisk和EDXPosed教程

资源下载&#xff1a; 逍遥模拟器安装Magisk和EDXPosed教程 - 多开鸭资源下载&#xff1a; MagiskEDXP教程文件 单独的逍遥模拟器使用的版本EDXPosed打包下载&#xff08;下载之后解压出来一共4个文件&#xff09;&#xff1a; 如果要按本教程安装就务必使用这里的安装包&…

翁恺-C语言程序设计-10-0. 说反话

10-0. 说反话 给定一句英语&#xff0c;要求你编写程序&#xff0c;将句中所有单词的顺序颠倒输出。 输入格式&#xff1a;测试输入包含一个测试用例&#xff0c;在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成&#xff0c;其中单词是由英文字母&#…

爬虫(一)——爬取快手无水印视频

前言 最近对爬虫比较感兴趣&#xff0c;于是浅浅学习了一些关于爬虫的知识。爬虫可以实现很多功能&#xff0c;非常有意思&#xff0c;在这里也分享给大家。由于爬虫能实现的功能太多&#xff0c;而且具体的实现方式也有所不同&#xff0c;所以这里开辟了一个新的系列——爬虫…

记录贴-芋道源码-环境搭建

文字讲解 链接: 芋道源码-环境搭建&#xff08;一&#xff09;后端 链接: 芋道源码-环境搭建&#xff08;二&#xff09;前端 链接: 基于FastGPT和芋道源码挑战一句话生成代码 视频讲解 链接: 芋道源码零基础启动教程&#xff08;上&#xff09; 链接: 芋道源码零基础启动教程…