-
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
-
gap-width-and-JRC
计算岩石表面裂隙宽度并求取其表面粗糙度系数(Calculate the rock surface crack width and strike the surface roughness coefficient)
- 2016-02-18 03:01:04下载
- 积分:1
-
shuffle
利用拉格朗日松弛法求解机组组合问题,考虑领域搜索的随机性(Using Lagrangian relaxation method to solve the unit combination problem, considering the randomness of the search field)
- 2013-01-24 17:31:35下载
- 积分:1
-
Gmainelement
列主元素高斯消去法,硕士研究生数值分析课程内容(Out the main elements Gaussian elimination, graduate numerical analysis course content)
- 2013-03-24 16:53:25下载
- 积分:1
-
LyapunovspectrumforLorenzattractor
附件中是我用Fortran写的lorenz混沌吸引子的lyapunov指数谱产生程序。包括三部分内容:如何产生lorenz吸引子,详细注释,如何计算lyapunov指数谱。
需要的话也可以单独提取子程序中的四阶龙格库塔算法。
希望有所用。(Annex is written in Fortran I used the Lorenz chaotic attractor of lyapunov index spectrum generation process. Includes three parts: how to generate Lorenz attractor, detailed notes, how to calculate the spectrum lyapunov index. If necessary, extraction can also be a separate subroutine in the fourth-order Runge-Kutta algorithm. Would like to see used.)
- 2008-12-30 09:19:46下载
- 积分:1
-
lxcad-stress-umat12
利用abaqus二次开发平台,利用for语言编写的混凝土弹性本构(Use abaqus secondary development platform, the use of language for concrete elastic constitutive)
- 2020-11-23 20:09:34下载
- 积分:1
-
zichengxu001
复合材料破坏失效vumat子程序,使用hsshin准则判断失效,具有刚度缩减,(The VUMAT subroutine for failure of composite materials is judged by hsshin criterion, and stiffness is reduced.)
- 2018-05-20 11:52:14下载
- 积分:1
-
vpm
二维涡流位置及流场分布计算程序,Vortex Panel Method (Two-dimensional eddy current distribution of the location and flow field calculation program, Vortex Panel Method)
- 2007-12-07 11:06:04下载
- 积分:1
-
program
程序包中含有Lagrange插值、Newton插值、Hermite插值、jacobi迭代、gauss迭代、 超松弛迭代、cholesky分解(Package contains Lagrange interpolation, Newton interpolation, Hermite interpolation, jacobi iteration, gauss iteration, ultra-relaxation iteration, cholesky decomposition)
- 2008-12-17 20:18:47下载
- 积分:1
-
ElectriFieldLine
用matlab对偶极子电场线描绘,能够和等势线一起画出。改变电荷量就能得到不同的电场线分布。(Electric field line of a diple)
- 2011-11-14 16:35:17下载
- 积分:1