-
统计逆序对
资源描述
Description
设a[0…n-1]是一个包含n个数的数组,若在ia[j],则称(i, j)为a数组的一个逆序对(inversion)。
比如 有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
- 2022-01-25 23:20:18下载
- 积分:1
-
基于matlab的图像消雾算法
用于改善图像中的浓雾效果,包括暗通道算法和retinex算法
- 2022-01-26 00:34:38下载
- 积分:1
-
大学将学习一门课程,一个过程的数值分析将D。
大学里必学的一门课程,数值分析的一个必做的程序,拉格朗日一次插值-universities will learn a curriculum, a numerical analysis of the process will do, Lagrange interpolation.
- 2022-01-25 23:41:25下载
- 积分:1
-
计算电磁学中FDTD方法的三维基本算例,PMC边界条件
计算电磁学中FDTD方法的三维基本算例,PMC边界条件-This ToyBoxFDTDbezhig is an extremely simple 3D FDTD code.
- 2022-02-25 16:56:17下载
- 积分:1
-
Three
三维框架梁单元C++版本的源程序 可以使结构力学的概念更上升一个层次-Three-dimensional beam element framework for C++ Version of the source can make the concept of structural mechanics even went up a level
- 2022-08-19 07:47:18下载
- 积分:1
-
用于大型对称稀疏线性系统方程的迭代求解程序
应用背景包可以被用为求解对称线性系统的方程可能干的大型有限元离散, ;对称线性方程组可以是对称正定(SPD)或对称不定。关键技术的线性迭代(Krylov子空间迭代)求解器包括的预处理共轭梯度(PCG)方法和对称准微小残留(SQMR)方法,跑车的迭代线性求解器,Jacobi型预条件和SSOR型预条件是采用。 ;
- 2022-07-19 16:44:56下载
- 积分:1
-
FFT变换的matlab环境仿真程序,带注释
FFT变换的matlab环境仿真程序,带注释-FFT transform matlab environment simulation procedure, with Notes
- 2022-02-25 09:50:00下载
- 积分:1
-
全区间积分的阿当姆斯方法
全区间积分的阿当姆斯方法-region between Integral Methods A ADAMS
- 2022-01-26 03:07:44下载
- 积分:1
-
一个生成最小树的算法,应用在VLSI中
一个生成最小树的算法,应用在VLSI中-generate a minimum spanning tree algorithm used in VLSI
- 2022-01-26 06:23:22下载
- 积分:1
-
常用数值算法Fortran代码,使用Fortran 77的固定格式。
Fortran 77采用固定格式,所有代码均用gfortran编译器和英特尔Fortran编译器进行测试。所有代码分为15类。它包括
- 2022-11-08 00:05:03下载
- 积分:1