算法导论第二章 练习题,使用合并排序算法寻找逆序对 基本思想:在merge过程中,交换位置与一组逆序对是一一对应的。 在左右两个子数组内部是排好序的,所以逆序对的出现仅仅存在于“左数组中的数组大有右数组中的数字”的情况。 所以在每次的merge过程中就可以进行逆序对的计数。java代码实现: 1.....
分类:
其他好文 时间:
2015-05-13 12:00:02
阅读次数:
127
题目:
在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。例如在数组{7,5,6,4}中一共存在5对逆序对,分别是(7,6),(7,5),(7,4),(6,4),(5,4)
基本思想:
解法一:O(n^2)
最简单的想法就是遍历每一个元素,让其与后面的元素对比,如果大于则count++,但是这样的时间复...
分类:
编程语言 时间:
2015-05-12 11:37:44
阅读次数:
151
题目:给定一个1到n的排列,求字典序小于这个排列的所有排列的逆序对数之和。思路:既然是求字典序小于这个排列的,不妨将排列根据和它前k位相同来分类,然后枚举第k+1位的数(小于原序列第k+1位的数),假设逆序对的位置为(x,y),对于1 4 #include 5 #include 6 #in...
分类:
其他好文 时间:
2015-05-11 01:19:19
阅读次数:
135
A,水题,直接枚举到sqrt
B,每次对于每一位枚举,如果小于当前位,那么答案可以计算出来,增加得答案为:设3个部分,前完全一样的部分a,中间新选的一个b,后面的全排列c,这样就把每部分和每两部分能够组成的逆序对个数计算出来,由于n只有100,里面在去枚举也是没问题的,主要是后面全排列c的逆序对数,这个可以利用dp处理出来,dp[i] = dp[i - 1] * i + i! * sum(i -...
分类:
其他好文 时间:
2015-05-10 15:44:46
阅读次数:
162
Tom and permutation
Accepts: 120
Submissions: 422
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
Tom学会了通过写程序求出一个1-n的排列的逆序对数,但他的老师给了他一个...
分类:
其他好文 时间:
2015-05-10 09:52:33
阅读次数:
118
题意:
Tom学会了通过写程序求出一个1-n的排列的逆序对数,但他的老师给了他一个难题:
给出一个1-n的排列,求所有字典序比它小的1-n的排列的逆序对数之和。
Tom一时不知道该怎么做,所以他来找你帮他解决这个问题。
因为数可能很大,答案对109+7取模。
从前往后推,先计算1-k的所有排列可以产生逆序总数,
先假设db[2]为1-2的结果,那么我们来看3的排列,他是由1[2,3]...
分类:
其他好文 时间:
2015-05-10 09:46:21
阅读次数:
125
归并排序:
以前学过归并排序,把意思看懂了,但要是自己写代码实现,那是真的不会,现在看了紫书上的代码,现在真的是豁然开朗,看这个的原因是也是为了实现逆序对的O(N log N)实现。
思路:其实,归并排序的实质就是二分,我们对二分并不陌生,经常用二分来查找某个值,我们可以把这个值称为二分的“附加值”(即:我们的目的),同样的在归并排序中,这个“附加值”不再是某个值,而是某个过程,这个过程就是“...
分类:
编程语言 时间:
2015-05-08 09:33:06
阅读次数:
121
cdq分治的思想非常简单, 就是每次分别递归处理在左半边区间内和右半边区间内答案的贡献, 然后像归并排序一样把左半边和有半边合起来, 顺带统计一下左半边区间中的修改对右半边区间中的询问做出的贡献。 归并排序求逆序对就是cdq分治最简单的应用了。容易分析得出应用到cdq分治时需要满足这些条件:每个修改...
分类:
其他好文 时间:
2015-05-07 22:00:03
阅读次数:
113
基本原理: 对一元素个数为n的数列进行扫描,同时逐一比较相邻的两个元素,按照所需的排序原则(顺序或逆序)对不满足要求的一组元素进行置换,一次扫描可以在得出一个当次扫面元素中最大或者最小的元素,然后对剩下的n-1个元素再进行同样的扫描与比较。在进行了n-1次扫描后,得到最终排好序的数列。因此冒泡排序....
分类:
编程语言 时间:
2015-05-06 17:01:44
阅读次数:
133
一开始只会用归并排序算,但不知怎么的蜜汁WA,所以还是学习一下树状数组的方法。。。树状数组的方法看起来比归并排序简单很多。
分类:
编程语言 时间:
2015-05-01 21:14:33
阅读次数:
146