(归并排序)AcWing 788. 逆序对的数量

简介: (归并排序)AcWing 788. 逆序对的数量

题目链接

788. 逆序对的数量 - AcWing题库


一些话

//注意cnt要开long long,最大是n方

流程

在原归并排序的这部分做修改,else时加一个cnt += mid - i + 1即可


   while(i <= mid && j <= r) {

       if(q[i] <= q[j]) tmp[k++] = q[i++];

       else tmp[k++] = q[j++],cnt += mid - i + 1;

   }

套路


ac代码

[//]: # (打卡模板,上面预览按钮可以展示预览效果 ^^)
```
//注意cnt要开long long,最大是n方
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
using namespace std;
const int N = 1e5 + 10;
int tmp[N],q[N];
int n;
long long cnt = 0;
void merge_sort(int q[],int l,int r){
    if(l >= r) return ;
    int mid = l + r >> 1;
    merge_sort(q,l,mid);
    merge_sort(q,mid+1,r);
    int k = 0,i = l,j = mid+1;
    while(i <= mid && j <= r) {
        if(q[i] <= q[j]) tmp[k++] = q[i++];
        else tmp[k++] = q[j++],cnt += mid - i + 1;
    }
    while(i <= mid) tmp[k++] = q[i++];
    while(j <= r) tmp[k++] = q[j++];
    //这里不熟
    for(int i = l,j = 0;i <= r;i++,j++){
        q[i] = tmp[j];
    }
}
int main(){
    cin >> n;
    for(int i = 0;i < n;i++){
        scanf("%d",&q[i]);
    }
    merge_sort(q,0,n-1);
    cout << cnt << endl;
}
```
目录
相关文章
|
测试技术 持续交付 开发工具
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
397 2
|
小程序
微信小程序实现上拉加载分页列表的性能优化
微信小程序实现上拉加载分页列表的性能优化
|
机器学习/深度学习 算法 PyTorch
PyTorch Lightning:简化研究到生产的工作流程
【8月更文第29天】深度学习项目往往面临着从研究阶段到生产部署的挑战。研究人员和工程师需要处理大量的工程问题,比如数据加载、模型训练、性能优化等。PyTorch Lightning 是一个轻量级的封装库,旨在通过减少样板代码的数量来简化 PyTorch 的使用,从而让开发者更专注于算法本身而不是工程细节。
526 1
|
人工智能 搜索推荐 Serverless
打造智能购物新体验:主动式智能导购AI助手解决方案评测
阿里云推出的《主动式智能导购AI助手构建》解决方案,基于百炼大模型和函数计算,采用Multi-Agent架构,提供个性化、智能化的购物体验。系统具备主动交互、精准推荐、自动化架构等亮点,支持快速部署和生产环境应用。评测结果显示,该方案在功能效果和架构设计上表现出色,但仍需优化文档和技术细节。欢迎参加官方评测活动... 详细评测及参与方式请参考:[链接](https://developer.aliyun.com/topic/build-an-ai-shopping-assistant?spm=a2c6h.12873639.article-detail.17.13902d93dZhiyK)。
1033 2
打造智能购物新体验:主动式智能导购AI助手解决方案评测
如何自己搭建一个网站?
通过安装简单的CMS网站管理系统或自助建站系统,快速建立网页。步骤包括域名注册、资料实名制、网站建模、内容修改、SEO配置和上线。网站质量可通过后台更新和维护提升。
583 10
|
网络协议 算法 网络安全
CCF推荐A类会议和期刊总结(计算机网络领域)
本文总结了中国计算机学会(CCF)推荐的计算机网络领域A类会议和期刊,这些会议和期刊代表了该领域的顶尖水平,汇聚了全球顶尖研究成果并引领前沿发展。A类期刊包括IEEE Journal on Selected Areas in Communications、IEEE Transactions on Mobile Computing等;A类会议包括SIGCOMM、MobiCom等。关注这些平台有助于研究人员紧跟技术前沿。
CCF推荐A类会议和期刊总结(计算机网络领域)
|
传感器 存储 物联网
单片机的原理与应用
单片机是一种将计算机的CPU、存储器、输入输出接口等功能集成在一块芯片上的微型计算机,被广泛应用于各类控制系统和智能设备中。
872 5
|
数据处理 Python
Pandas快速统计重复值的2种方法
Pandas快速统计重复值的2种方法
1063 1
|
SQL 分布式计算 数据处理
实时计算 Flink版产品使用问题之怎么将数据从Hive表中读取并写入到另一个Hive表中
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

热门文章

最新文章