Description
对于序列A,它的逆序对数定义为满足i\gtAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。
Input
输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正整数,即初始排列。以下m行每行一个正整数,依次为每次删除的元素。...
分类:
其他好文 时间:
2015-04-09 12:01:24
阅读次数:
123
思路:
分治法 归并排序的过程中,有一步是从左右两个数组中,每次都取出小的那个元素放到tmp[]数组中
右边的数组其实就是原数组中位于右侧的元素。当不取左侧的元素而取右侧的元素时,说明左侧剩下的元素均比右侧的第一个元素大,即均能构成一个逆序对。假设现在左侧剩余n个元素,则逆序对数+n。
另外,如果当所有右侧的元素都取完,但是左侧仍然有元素剩余时,左侧剩余的元素已经在之前的运算中加到了逆序对中...
分类:
其他好文 时间:
2015-04-02 22:37:16
阅读次数:
223
题意查询给定[L, R]区间内 逆序对数 ==k的子区间的个数。我们只需要求出 子区间小于等于k的个数和小于等于k-1的个数,然后相减就得出答案了。对于i(1≤i≤n),我们计算ri表示[i,ri]的逆序对数小于等于K,且ri的值最大。(ri对应代码中的cnt数组)显然ri单调不降,我们可以通过用两...
分类:
编程语言 时间:
2015-04-01 19:20:28
阅读次数:
234
题意:求n个数的逆序对数,可以交换k次相邻的,所以求出原序列的逆序对后减去k即可。
思路:求逆序对有两种方法,归并排序和树状数组。逆序对的几种求法...
分类:
编程语言 时间:
2015-04-01 09:42:24
阅读次数:
296
首先,明确两个概念:
逆序对:数列a[1],a[2],a[3]…中的任意两个数a[i],a[j] (ia[j],那么我们就说这两个数构成了一个逆序对.
逆序数:一个数列中逆序对的总数.
例题一:POJ 1804. 点击打开链接
解题思路:每次交换只能减少一个逆序,而且必定能减少一个逆序,从而问题就转换为求逆序个数了。这题数据规模很小,暴力可过。
我这里提供了用Merge_sort的方...
分类:
编程语言 时间:
2015-03-31 18:07:05
阅读次数:
142
设A[1..n]是一个包含n个不同整数的数组。如果在iA[j],则(i,j)就称为A中的一个逆序对(inversion)。
给出一个算法,确定n个元素的任何排列中逆序对的书目。时间复杂度为o(nlgn)。
分治法求解思路:
分解:将数组A[1..n]分为两个子序列A[1..p]和A[p+1,n],二分法将其分解。。
解决:根据归并排序的思想,在合并过程中,计算逆序对。假如两...
分类:
其他好文 时间:
2015-03-27 22:19:52
阅读次数:
200
Description对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。Input输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正...
分类:
其他好文 时间:
2015-03-16 20:51:54
阅读次数:
115
Description对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。Input输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正...
分类:
编程语言 时间:
2015-03-09 15:41:17
阅读次数:
147
转自tangjz的博客...基础算法模拟搜索广度优先搜索(BFS)优化:双向BFS深度优先搜索(DFS)优化:折半DFS迭代加深搜索(IDS)启发式搜索(Astar)优化:IDAstar优化:剪枝、位运算排序冒泡排序/选择排序基数排序/桶排序计数排序插入排序/希尔排序快速排序归并排序/求逆序对数堆排...
分类:
编程语言 时间:
2015-02-23 10:50:21
阅读次数:
330
题目大意就是说帮你给一些(n个)乱序的数,让你求冒泡排序需要交换数的次数(n
显然不能直接模拟冒泡排序,其实交换的次数就是序列的逆序对数。
由于数据范围是 0 ≤ a[i] ≤ 999,999,999所以先要离散化,然后用合适的数据结果求出逆序
可以用线段树一步一步添加a[i],每添加前查询前面添加比它的大的有多少个就可以了。
也可用树状数组,由于树状数组求的是(1...x)的数量和所以每...
分类:
编程语言 时间:
2015-02-22 20:47:46
阅读次数:
200