【算法笔记】 归并排序求逆序对 经典模板例题

这篇博客介绍了一个利用归并排序计算赛车超车次数的算法。通过分析赛车的坐标和速度,将问题转化为计算逆序对的经典模板。文章提供了输入输出格式,样例数据,并详细解释了如何运用归并排序来找出超车总数。
摘要由CSDN通过智能技术生成



题目描述

jzabc除了对多米诺骨牌感兴趣外,对赛车也很感兴趣。上个周末他观看了一场赛车比赛。他总是能想出许多稀奇的问题。某一时刻,他看到有n辆车(总是匀速行驶)在同一直线上,并且处在一个无限长度的直道上,而且n辆车有严格的先后之分。他通过特殊的器材测出了每一辆车的速度。那么问题出现了,如果有两辆车A车和B车,A车在B车的后面,并且A车的速度比B车的快,那么经过一段时间后,A车一定会超过B车。我们称之为一次超车。那么他想请你帮忙计算超车总数。我们记车道起点的坐标为0。没有两辆车的坐标相同。

输入格式

第一行,一个数n,车辆总数。
第二行至第n+1行,为n辆车的信息
每行有两个正整数x,y,x和y之间有一个空格
x为车的坐标,y为车的速度
0<x,y<=1000000000,

输出格式

一行,超车总数

样例数据

input

2
5 6
2 8

output

1

具体思路:

根据汽车的起始点进行排序,然后将思路转化一下,就是求逆序对的个数,那么我们再归并一下即可。

#include<bits/stdc++.h>
using namespace std;
long long N;
long long Ans=0;
long 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值