题目地址:Minimum Inversion Number题目大意: 求逆序对数,求循环移位后逆序数的最小值,意思一次将第一位移到最后一位,然后计算逆序对数,求出最小的那个。解题思路: 数组数组。 线段树代码。代码: 1 #include 2 #include 3 #inclu...
分类:
其他好文 时间:
2014-10-30 22:34:07
阅读次数:
321
求逆序数
时间限制:2000 ms | 内存限制:65535 KB
难度:5
描述
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。
现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。
比如 1 3 2 的逆序数就是1。
输入
第一行输入...
分类:
其他好文 时间:
2014-10-29 17:17:15
阅读次数:
183
我们可以通过预处理,在O(n)之内,算出f(1, i, a[i]) 定义数组为l[i], 算出f(j, n, a[j]) 定义数组为r[i]。
题目就转化为:求出 l[i] > r[j] (i < j)。
本质上,就是一个求逆序对的做法,用树状数组。...
分类:
其他好文 时间:
2014-10-23 00:09:08
阅读次数:
249
http://acm.hdu.edu.cn/showproblem.php?pid=4911
给定一个序列,有k次机会交换相邻两个位置的数,问说最后序列的逆序对数最少为多少。
实际上每交换一次能且只能减少一个逆序对,所以问题转换成如何求逆序对数。
归并排序或者树状数组都可搞
树状数组:
先按大小排序后分别标号,然后就变成了求1~n的序列的逆序数,每个分别查询出比他小的用i减,...
分类:
编程语言 时间:
2014-10-21 21:45:22
阅读次数:
266
又是一个实验题:三元数组存储稀疏矩阵,同时实现基本的加法,减法,乘法,求逆 思路: 首先规范好输入情况 明确三元数组的数据结构和输入特征( 行优先输入 ) ...
分类:
其他好文 时间:
2014-10-19 21:17:57
阅读次数:
278
POJ 3928 & HDU 2492 Ping pong(树状数组求逆序数)...
分类:
编程语言 时间:
2014-10-17 00:02:23
阅读次数:
261
题目大意:有两排城市,这两排城市之间有一些路相互连接着,求有多少条路相互交叉。
思路:把所有的路先按照x值从小到大排序,x值相同的按照y值从小到大排序,然后插入边的时候,先找有多少比自己y值小的,这些边的x值一定比自己大,也就是一个逆序对,然后统计起来。记得答案要用long long (__int64)
CODE:
#include
#include
#inclu...
分类:
编程语言 时间:
2014-10-16 11:30:12
阅读次数:
218
引言何为大矩阵?Excel、SPSS,甚至SAS处理不了或者处理起来非常困难,需要设计巧妙的分布式方法才能高效解决基本运算(如转置、加法、乘法、求逆)的矩阵,我们认为其可被称为大矩阵。这意味着此种矩阵的维度至少是百万级的、经常是千万级的、有时是亿万级的。举个形象的栗子。至2012年12月底,新浪微博...
分类:
其他好文 时间:
2014-10-10 20:15:44
阅读次数:
450
这道题的解法真的很好!!!
思路:建立一个结构体包含val和id, val就是输入的数,id表示输入的顺序。然后按照val从小到大排序,如果val相等,那么就按照id排序。
如果没有逆序的话,肯定id是跟i(表示拍好后的顺序)一直一样的,如果有逆序数,那么有的i和id是不一样的。所以,利用树状数组的特性,我们可以简单的算出逆序数的个数。
如果还是不明白的话举个例子。(输入4个数)
...
分类:
其他好文 时间:
2014-10-09 02:25:47
阅读次数:
107
题目地址:Minimum Inversion Number题目大意: 求逆序对数,求循环移位后逆序数的最小值,意思一次将第一位移到最后一位,然后计算逆序对数,求出最小的那个。解题思路: 因为是序列0->n-1区间的数,所以当你求的,它给出的a1.a2...an-1的逆序对数时cnt,推出如果移位.....
分类:
其他好文 时间:
2014-10-07 17:30:13
阅读次数:
235