算法刷题:P1908 逆序对

news2024/10/5 13:14:43

解题关键:就是利用分治的思想,使用归并排序,因为逆序对实际上就是“左侧的数字比右侧大就算一个逆序对”。而这个“左侧”和“右侧”可以相对来看,即左侧的左侧一定就是左侧,说的有点抽象,哈哈哈哈。

花了个示意图,也很抽象,哈哈哈哈,仅供参考。

#include<bits/stdc++.h>
using namespace std;
int n,data[500010],has[500010];
long long ans;
void msort(int b,int e){
    if(b==e){
        return;
    }
    int mid=(b+e)/2;
    int i=b;
    int j=mid+1;
    int k=b;
    msort(b,mid);
    msort(mid+1,e);
    while(i<=mid&&j<=e){
        //将左右两个序列进行比较,把较大的接在has之后
    	if(data[i]<=data[j]){
            has[k++]=data[i++];
        }else{
            has[k++]=data[j++];
            ans+=mid-i+1;
        }
    }
    //将剩下的进行归并
    while(i<=mid){
        has[k++]=data[i++];
    }
    while(j<=e){
        has[k++]=data[j++];
    }
    //将排好序的序列has规划给原本的序列data
    for(int l=b;l<=e;l++){
        data[l]=has[l];
    }	
} 

int main(void){
    scanf("%d",&n); 
    for(int i=1;i<=n;i++){
        scanf("%d",&data[i]);
    }
    msort(1,n);
    printf("%lld",ans);
    return 0;
}

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

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

相关文章

excel在函数中插入函数

例如&#xff0c;要计算RAND()1的值&#xff0c;其中RAND()表示取0~1之间的随机数。 插入-》函数&#xff1a; 选SUM函数&#xff1a; 点击“继续”&#xff1a; 将光标先放在数字1中的输入框中&#xff0c;然后在左边过滤出RAND函数&#xff0c;并且点击继续&#xff1…

技巧篇:Mac 环境PyCharm 配置 python Anaconda

Mac 中 PyCharm 配置 python Anaconda环境 在 python 开发中我们最常用的IDE就是PyCharm&#xff0c;有关PyCharm的优点这里就不在赘述。在项目开发中我们经常用到许多第三方库&#xff0c;用的最多的命令就是pip install 第三方库名 进行安装。现在你可以使用一个工具来帮你解…

Java实现自定义windows右键菜单

要添加Java应用程序到Windows桌面的右键菜单&#xff0c;可以按照以下步骤操作&#xff1a; 创建一个新的.reg文件&#xff0c;并在文本编辑器中打开它。 添加以下代码到.reg文件中&#xff0c;将名称和路径替换为您的Java应用程序的名称和路径。 Windows Registry Editor V…

解决requests库的urllib3版本冲突问题

每个加班的夜晚&#xff0c;都是我和bug的较量。当我坐在电脑前&#xff0c;灯光昏暗&#xff0c;空气凝固&#xff0c;只有键盘敲击的声音回荡在空旷的办公室中。我渐渐地陷入了与无数个请求的斗争中。这些请求来自各种各样的客户端&#xff0c;充满了各种各样的需求。每个请求…

业务连续性:确保稳健运营的关键战略

在今天的快节奏商业环境中&#xff0c;保障业务连续性是企业成功的重要保障。业务连续性不仅仅是关于应对自然灾害或技术故障&#xff0c;更是一项战略&#xff0c;涉及组织的整体准备、规划和应对能力&#xff0c;以确保在各种情况下业务的稳健运营。 一、业务连续性的定义 业…

Python爬取股票交易数据代码示例及可视化展示。

文章目录 前言一、开发环境二、第三方模块三、爬虫案例步骤四、爬虫程序全部代码1.分析网页2.导入模块3.请求数据4.解析数据5.翻页6.保存数据 五、实现效果六、数据可视化全部代码1.导入数据2.读取数据3.可视化图表4.效果展示关于Python技术储备一、Python所有方向的学习路线二…

分享篇:我用数据分析做副业

主业是数据分析专家&#xff0c;副业是数据咨询顾问&#xff0c;过去十年里面利用数据分析发家致富 人生苦短&#xff0c;我学Python&#xff01; 利用技能可以解决的问题&#xff0c;哪些场景下可以催生出需求&#xff0c;深度剖析数据分析的技能树 由浅入深&#xff0c;一个…

098001190、098002190、098101190、098102190比例线圈放大器

0343100001、0344100101、0523100150、0353450101、035303001、0354050101、0473200050、0052010100、0063030100、0172200410、0363150101、0364100601、1027001020、1044112011、1043112010、1128022100、098001190、098002190、098101190、098102190、098201190、098202190、…

2023年【N1叉车司机】找解析及N1叉车司机复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年N1叉车司机找解析为正在备考N1叉车司机操作证的学员准备的理论考试专题&#xff0c;每个月更新的N1叉车司机复审模拟考试祝您顺利通过N1叉车司机考试。 1、【多选题】《中华人民共和国特种设备安全法》第八十三…

flutter实用笔记

前言 写下这一篇文章是为了记录这段时间使用flutter 制作项目中一些比较常用的组件&#xff0c;以及具体怎么使用&#xff0c;获得怎样的效果。我使用的貌似是flutter4。由于官方更新迭代的差别比较明显&#xff0c;可能之后许多内容对应最新的flutter不适用&#xff0c;在此只…

三菱FX3U系列—小项目

目录 一、项目描述 二、IO口分配 三、运动功能图 四、项目程序 五、总结 一、项目描述 有些工作台&#xff0c;在工作台身上安装4个行程开关SQ1~SQ4&#xff0c;其中&#xff0c;SQ1、SQ2用来自动换向&#xff0c;当工作台运动到换向位置时&#xff0c;挡铁撞击行程开关&a…

NI USRP RIO软件无线电

NI USRP RIO软件无线电 NI USRP RIO是SDR游戏规则的改变者&#xff0c;它为无线通信设计人员提供了经济实惠的SDR和前所不高的性能&#xff0c;可帮助开发下一代5G无线通信系统。“USRP RIO”是一个术语&#xff0c;用于描述包含FPGA的USRP软件定义无线电设备&#xff0c;例如…

注塑机机械都用哪些传动配件?

注塑机的主要作用是利用塑料成型模具制成各种形状的塑料制品&#xff0c;能够加热塑料&#xff0c;对熔融塑料施加高压&#xff0c;使其射出而充满模具型腔&#xff0c;具备高精度、高效率、高可靠性的特点。注塑机使用的传动配件包括许多种类&#xff0c;以下是一些主要的配件…

【luckfox】3、计算重量差

前言 本章结合之前的hx711驱动&#xff0c;实现读取质量&#xff0c;记录时间及剩余质量并存入csv文件&#xff0c;计算质量差并总计。 代码 luckfox-pico\project\app\test_app\hx711\hx711_app_addtime.c #include <stdio.h> #include <stdlib.h> #include &…

嵌入式Linux开发,NFS文件系统挂载

在嵌入式linix的开发中&#xff0c;经常会需要在pc端和板端互相传输文件&#xff0c;优先可选择ftp传输&#xff0c;但是有些嵌入式板端不支持&#xff0c;只能使用nfs这种方式&#xff0c;即pc端作为服务端&#xff0c;板端作为客户端&#xff0c;将pc端的某个文件夹挂载到板端…

年薪百万的人怎么做好工作复盘和总结

我们在为谁工作&#xff1f; 在大山宏泰《我们为什么工作》一书中有提到过&#xff1a; 70%左右的人认为工作只是维持生计的存在&#xff1b; 20%左右的人认为工作是个人价值的体现&#xff1b; 不到10%的人才会认为工作是幸福的。 人类的终极幸福有四重&#xff1a;被爱&…

故障演练的关键要素及重要性

故障演练是一种有计划的、模拟真实生产环境故障的活动。通过故意引入故障、模拟系统组件失效或模拟其他异常条件&#xff0c;团队可以观察并评估系统在这些情况下的反应。这有助于发现潜在的问题、改进应急响应和提高系统整体的可用性。 一、故障演练的关键要素 计划性&#xf…

ATECLOUD-POWER电源测试系统有什么特点?如何用它测试电源模块?

ATECLOUD-POWER电源测试系统 ATECLOUD-POWER是检测电源性能的自动化测试系统&#xff0c;针对电源模块各类测试项目提供定制方案&#xff0c;指导电源模块的设计和生产&#xff0c;保证电源的质量、稳定性和可靠性。该方案包括软件定制开发以及硬件设备选择两方面&#xff0c;根…

创新升级!Coremail邮箱客户端4.0发布

11月8日&#xff0c;2023年世界互联网大会乌镇峰会盛大开幕&#xff0c;同日&#xff0c;“互联网之光”博览会新产品新技术发布&#xff08;网络安全专场&#xff09;活动在乌镇互联网国际会展中心B2馆顺利举办&#xff0c;Coremail亮相发布现场&#xff0c;重磅发布Coremail邮…

【C++干货铺】解密vector底层逻辑

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 vector介绍 vector的使用 vector的定义和使用 vector的空间增长问题 vector的增删查改 解密vector及模拟实现 成员变量 成员函数 构造函数 拷贝构造函数…