浅谈逆序数
来源:互联网 发布:网络推编辑 编辑:程序博客网 时间:2024/05/01 23:35
定义:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。
定义:在一个排列中,将任意两个元素对调,得到一个新排列,排列的这个变换叫对换;将相邻两个元素对调,叫相邻对换.
定理:每一个对换,都要改变排列的逆序数的奇偶性.
求解逆序数的方法:
1、分治法:待补充
2、树状数组:待补充
应用1、最少交换次数:给定一个序列,每次交换相邻的两个元素,最少需要交换多少次,使序列有序?答案:逆序数的个数(如冒泡排序的交换次数)
如果可以交换不相邻的元素,最少需要交换多少次呢? 答案:数字的总个数减去循环节的个数点击打开链接
应用2、14-15智力玩具(原理:根据排列的奇偶性)
任何一个m×n方格的智力游戏,假定右下最后一格是空格,其余格子里的数字从左至右、从上至下组成由数字1,2,3,…,mn-1的一个排列,则经过一系列基本滑动后,当右下角仍是空格时,其排列的奇偶性均不会改变.因此,若初始排列是奇排列,则通过以上两种基本滑动是不可能得到正确的排列的.那么,若初始排列是任一偶排列是可以得到的
0 0
- 浅谈逆序数
- 逆序数 & 逆序对
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- 逆序数
- centos中为php安装GnuPG扩展
- viewpager、fragment滑动切换卡顿问题
- 深入理解linux系统下proc文件系统内容
- Android双SD卡路径获取
- tomcat配置数据源案例
- 浅谈逆序数
- linux /proc/pid/maps 信息分析
- CodeIgniter入口文件解析
- java面试题集锦1
- 我的架构师之路
- Google浏览器如何加载本地文件
- 【HTML5】HTML5 高级程序设计 学习笔记1 HTML5新特性简介
- IMMDeviceEnumerator 如何获取音频设备的名称
- 镜像备忘