归并排序法是一个基于分治法的比较排序方法,其最差情况复杂度为O(nlogn),而快速排序法的复杂度在最差情况下达到O(n2)本文使用PHP来讨论其算法过程:假设对乱序数列进行排序 $input = array(11,5,1,4,8,7,9,2);思路可以表示:(图是PPT画的,比较简单,请看官见谅)...
分类:
其他好文 时间:
2014-08-09 11:20:37
阅读次数:
398
HDU 4911 Inversion(基本算法-排序)
题目大意:
有n个数,问你经过K次交换后的逆序数最少多少个?
解题思路:
根据排序的思想,每一步都能减少1个逆序数,所以K步之多减少K个逆序数。
因此,这题转化为了求逆序数,数据量略微大,用归并排序即可。...
分类:
其他好文 时间:
2014-08-08 12:58:36
阅读次数:
228
1. 所有STL sort算法函数的名字列表:
函数名 功能描述
sort 对给定区间所有元素进行排序
stable_sort 对给定区间所有元素进行稳定排序
partial_sort 对给定区间所有元素部分排序
partial_sort_copy 对给定区间复制并排序
nth_element ...
分类:
其他好文 时间:
2014-08-07 18:59:20
阅读次数:
231
一个很小的HTML项目,使用。Git来记录和跟踪这个项目。包括以下内容: 创建版本库。 添加与修改文件。 创建新分支。 打标签并整理版本库。 克隆版本库。创建版本库 Creating a Repository 在Git中,版本库(.git目录)是与工作目录树并排放在同一个目录中的。 本...
分类:
其他好文 时间:
2014-08-07 18:21:00
阅读次数:
337
Atitit.现实生活中最好使用的排序方法-----ati排序法总结
1. 现在的问题 1
2. 排序的类别::插入排序//交换排序//选择排序(每次最小/大排在相应的位置 )//归并排序//基数排序 1
3. 选择排序法 (垃圾...不好使用) 2
4. 堆排序-(雅十垃圾...不好用) 2
5. 希尔排序法 (雅十垃圾...不好用) 3
6. 冒泡排序法 (雅十垃圾......
分类:
其他好文 时间:
2014-08-07 00:53:17
阅读次数:
253
解题报告算导上给了提示 用归并排序的代码进行修改来实现 思考后不难看出 归并排序的合并(merge)过程中 对数据进行了比较1)如果数组L 的当前某元素大于数组R的当前元素,那么 由于L数组是有序的(升序) 因此 L数组当前元素以及他后面的所有元素都与R数组构成逆序对2)我们的排序并不影响逆序对的数...
分类:
其他好文 时间:
2014-08-06 22:31:22
阅读次数:
451
对于n个数,可以做k次移动,每次移动可以互换相邻位置的两个数,问最少 number of pair (i,j) where 1≤ii>aj.
如果不移动的话,ans=’n个数的逆序对数‘,移动k次会减少k个
归并排序求逆序对数:
#include "stdio.h"
#include "string.h"
#include "math.h"
int b[100010],a[1...
分类:
其他好文 时间:
2014-08-06 14:53:51
阅读次数:
211
http://poj.org/problem?id=2299
给出n个数,每次只能交换两个相邻的数,问使得n个数有序最少需要交换多少次。
归并排序的模板,重在理解,小白书p144.
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-08-06 10:38:41
阅读次数:
234
Inversion
Time Limit: 2000/1000 MS (Java/Others) Memory Limit:
131072/131072 K (Java/Others)
Problem Description
...
分类:
其他好文 时间:
2014-08-06 10:38:01
阅读次数:
211
归并排序求逆序数,然后ans-k与0取一个最大值就可以了。
也可以用树状数组做,比赛的时候可能姿势不对,树状数组wa了、、
Inversion
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 578 Accept...
分类:
其他好文 时间:
2014-08-06 10:32:51
阅读次数:
224