信息学奥赛一本通1311:【例2.5】求逆序对

2024-02-15 15:12

本文主要是介绍信息学奥赛一本通1311:【例2.5】求逆序对,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1311:【例2.5】求逆序对


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 61497     通过数: 14704

【题目描述】

给定一个序列a1,a2,…,an�1,�2,…,��,如果存在i<j�<�并且ai>aj��>��,那么我们称之为逆序对,求逆序对的数目。

【输入】

第一行为n�,表示序列长度,接下来的n�行,第i+1�+1行表示序列中的第i�个数。

【输出】

所有逆序对总数。

【输入样例】

4
3
2
3
2

【输出样例】

3

【提示】

N≤10^5,Ai≤10^5。

 用二分的归并排序来求出交换了几次(有几对逆序数)

#include<bits/stdc++.h>
using namespace std;
int n,a[100001],x1[100001];
long long cnt;
void msort(int x[],int l,int r)
{if(l>=r){return;}int l1=l,mid=(l+r)/2,r1=mid+1,x2=l;msort(x,l,mid);msort(x,mid+1,r);while(l1<=mid&&r1<=r){if(x[l1]<=x[r1]){x1[x2++]=x[l1++];}else{cnt+=mid-l1+1;x1[x2++]=x[r1++];}}while(l1<=mid){x1[x2++]=x[l1++];}while(r1<=r){x1[x2++]=x[r1++];}for(int i=l;i<=r;++i){x[i]=x1[i];}
}
int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}msort(a,1,n);cout<<cnt;
}

这篇关于信息学奥赛一本通1311:【例2.5】求逆序对的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711742

相关文章

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

生信代码入门:从零开始掌握生物信息学编程技能

少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 介绍 生物信息学是一个高度跨学科的领域,结合了生物学、计算机科学和统计学。随着高通量测序技术的发展,海量的生物数据需要通过编程来进行处理和分析。因此,掌握生信编程技能,成为每一个生物信息学研究者的必备能力。 生信代码入门,旨在帮助初学者从零开始学习生物信息学中的编程基础。通过学习常用

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。

【生物信息学算法】图算法1:概念和算法

文章目录 1. 图的定义、分类、表达方式图的定义图的分类表达方式Python实现 2.相邻节点和度概念定义python实现 3.路径、距离和搜索路径和距离搜索环 4.图论中的欧拉定理 1. 图的定义、分类、表达方式 图的定义 图G可以由两个集合来定义,即G=(V,E)。其中,V是对象的集合,称为图的顶点或节点; E是V中(u,v)顶点对的集合,称为边或弧,表示u和v之间的关系

逆序和顺序创建单链表

单链表是一种顺序的存储方式,数据结构学的不好,考研又是必考内容,只好从头开始学习,相信不断地积累会有更好的爆发! 首先单链表的创建,单链表是建立在结构体的基础上,要创建单链表首先要建立起一个储存数据的结构体: struct node{int elem;node *next;};elem是数据域,用来存放你要输入的数据,next是指向下个存放数据节点的指针同为node 类型; 下面是

【Hdu】Minimum Inversion Number(逆序,线段树)

利用线段树在nlogn的时间复杂度内求一段数的逆序。 由于给的序列是由0 ~ n -1组成的,求出初始的逆序之后可以递推出移动之后的逆序数。 #include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const in

【简历】25届南京某一本JAVA简历:简历通过率还好,但是拿不到OFFER

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 简历说明 今天看一份25届南京某一本大学的Java简历。 这个简历呢,学校是一本。我们说上来先要定校招层次,这个层次就按照中厂来讲。因为现在很多的双非一本目标都是在中厂。 这个同学有个实习经历,一本有八成的同学主项目都是重复的。HR他只能看到项目重不重复,要点对不对他不知道,就从这个角度来看,这位同学

信息学奥赛初赛天天练-83-NOIP2014普及组-基础题2-输入设备、输出设备、操作系统、二进制、整数除法、while、do while循环

1 NOIP 2014 普及组 基础题2 4 以下哪一种设备属于输出设备( ) A 扫描仪 B 键盘 C 鼠标 D 打印机 5 下列对操作系统功能的描述最为完整的是( ) A 负责外设与主机之间的信息交换 B 负责诊断机器的故障 C 控制和管理计算机系统的各种硬件和软件资源的使用 D 将没有程序编译成目标程序 11 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( ) A 296

基于R语言生物信息学大数据分析与绘图

随着高通量测序以及生物信息学的发展,R语言在生物大数据分析以及数据挖掘中发挥着越来越重要的作用。想要成为一名优秀的生物数据分析者与科研团队不可或缺的人才,除了掌握对生物大数据挖掘与分析技能之外,还要具备一定的统计分析能力与SCI论文质量绘图能力。大量生物数据分析案例,包括利用R语言绘制SCI高质量图片、利用R语言分析生物学数据的案例。 原文链接:基于R语言生物信息学大数据分析与绘图

数据结构——单链表查询、逆序、排序

1、思维导图 2、查、改、删算法 //快慢排序法找中间值int mid_link(Link_t *plink){Link_Node_t *pfast = plink->phead;Link_Node_t *pslow = pfast;int m = 0;while(pfast != NULL){pfast = pfast->pnext;++m;if(m % 2 == 0){pslow