-
11087 统计逆序对
Description
设a[0…n-1]是一个包含n个数的数组,若在i<j的情况下,有a[i]>a[j],则称(i, j)为a数组的一个逆序对(inversion)。
比如 <2,3,8,6,1> 有5个逆序对。请采用类似“合并排序算法”的分治思路以O(nlogn)的效率来实现逆序对的统计。
一个n个元素序列的逆序对个数由三部分构成:
(1)它的左半部分逆序对的个数,(2)加上右半部分逆序对的个数,(3)再加上左半部分元素大于右半部分元素的数量。
其中前两部分(1)和(2)由递归来实现。要保证算法最后效率O(nlogn),第三部分(3)应该如何实现?
此题请勿采用O(n^2)的简单枚举算法来实现。
并思考如下问题:
(1)怎样的数组含有最多的逆序对?最多的又是多少个呢?
(2)插入排序的运行时间和数组中逆序对的个数有关系吗?什么关系?
输入格式
第一行:n,表示接下来要输入n个元素,n不超过10000。
第二行:n个元素序列。
输出格式
逆序对的个数。
输入样例
5
2 3 8 6 1
输出样例
5(Set a[0... N-1] is a n array containing n numbers. If there is a [i] > a [j] i n the case of I < j, then (i, j) is a n inversion pair of a array.
For example, <2,3,8,6,1> has five reverse pairs. Please use the idea of "merge sorting algorithm" to achieve the statistics of inverse pairs with O (nlogn) efficiency.
The number of inverse pairs of a sequence of n elements consists of three parts:
(1) The number of reverse pairs in the left half, (2) the number of reverse pairs in the right half, (3) the number of elements in the left half is greater than that in the right half.
The first two parts (1) and (2) are implemented by recursion. To ensure the final efficiency of the algorithm O (nlogn), how should the third part (3) be implemented?
Do not use O (n ^ 2) simple enumeration algorithm to solve this problem.)
- 2019-01-07 23:52:06下载
- 积分:1
-
UMAT beginning
begining of UMAT in abaqus
- 2017-09-11 20:50:56下载
- 积分:1
-
SDCS
用matlab实现的改进的布谷鸟算法——SDCS,它是将最速下降法与CS相结合的(Matlab implementation of the improved algorithm of the cuckoo- SDCS , it will steepest descent method with CS
)
- 2020-09-25 10:27:47下载
- 积分:1
-
zyp
计算各种气象物理量,包括散度、涡度、螺旋度、垂直速度、水汽通量、比湿、假相当位温、k指数等的grads 程序,(Calculate various meteorological physical quantity, including divergence, vorticity, helicity, vertical velocity, water vapor flux, specific humidity, pseudo-equivalent temperature, k index grads program,)
- 2021-05-07 18:01:36下载
- 积分:1
-
Mathematical-modeling
主要是基于matlab编程的机器学习的各种算法的实现,对补补基础很好(Matlab programming machine learning algorithm, Bubu basis of good)
- 2013-04-10 15:41:16下载
- 积分:1
-
Novel-Hybrid-Demodulation-Schemes
比特交织编码中的迭代解映射算法简化 复杂度比原算法降低(Bit interleaved coded mapping algorithm in the iterative solution simplifies complex than the original algorithm reduces)
- 2013-08-19 23:10:08下载
- 积分:1
-
norton-power-law
牛顿幂率蠕变法则的一个子程序-是一个经典的、常用的蠕变法则,在众多领域广泛使用(Newtonian power law creep rate of a subroutine- is a classic, conventional creep law, are widely used in many fields)
- 2021-04-01 20:49:08下载
- 积分:1
-
les
包括管道和边界层的大涡模拟fortran95原代码(Including pipelines and large eddy simulation of boundary layer source code fortran95)
- 2010-07-17 08:47:28下载
- 积分:1
-
spgl1-1.8
based classification (SRC) has been widely used for face
recognition (FR). SRC first codes a testing sample as a
sparse linear combination of all the training samples, and
then classifies the testing sample by evaluating which class
leads to the minimum representation error. While the
importance of sparsity is much emphasized in SRC and
many related works, the use of collaborative representation
(CR) in SRC is ignored by most literature.
- 2013-08-02 16:14:29下载
- 积分:1
-
bigbt
A simple algorithms to calculate very big factorial, this program can calculate up to 30000!
- 2010-02-28 09:35:08下载
- 积分:1