来看这样一道问题:http://acm.dlut.edu.cn/problem.php?id=1210题目大意:对于一个1-n的排列,a1,a2,a3,a4...an我们把满足i aj这样的数对(ai,aj)成为一个逆序对,另有一个数组b【i】记录aj = i这样的逆序对的个数,例如排列:3 1 ....
分类:
其他好文 时间:
2015-12-03 19:15:15
阅读次数:
229
poj 2299 树状数组求逆序数题目链接:http://poj.org/problem?id=2299 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9...
分类:
编程语言 时间:
2015-11-27 21:46:07
阅读次数:
197
实现函数初始化数组、清空数组、逆序数组#include<stdio.h>
#include<stdlib.h>
voidinit(intarr[],intsize)//初始化函数
{
inti=0;
for(i=0;i<size;i++)
{
arr[i]=i;
}
}
voidreverse(intarr[],intsize)//交换数组中元素顺序
{
intleft=0;
intright=s..
分类:
编程语言 时间:
2015-11-05 09:10:39
阅读次数:
199
#include#include #include using namespace std;std::vector v;int bigArr[100000];int helpArr[100000];_int64 MergeAndCount( int* arr, int left, int mid, ...
分类:
其他好文 时间:
2015-10-24 11:18:25
阅读次数:
132
这道题题意很简单,就是求逆序数。用暴力的方法是显然会超时的。这里考虑采用树状数组。采用树状数组话遇到的问题就是需要999,999,999个空间来存放数据,这显然是不可行的。考虑到输入数据最多只有500,000个,那么可以采用离散化的方法来先将输入数据进行映射到较小的空间上,然后再用一般的树状数组操作...
分类:
编程语言 时间:
2015-10-23 13:21:14
阅读次数:
183
poj2299 Ultra-QuickSort 树状数组求逆序数Ultra-QuickSortTime Limit:7000MSMemory Limit:65536KTotal Submissions:49587Accepted:18153DescriptionIn this problem, y....
分类:
编程语言 时间:
2015-10-06 18:15:22
阅读次数:
179
题目大意: 这道题是说,给你一个长度为n的数组,然后,这个数组中只能包含1 2 3。求出将这个序列从小到大排序后的序列,所需要的最少的步数。解题思路: 这道题,拿到后,想到以前做过的一个bit求逆序数的题目,想了想,完全不搭边啊。于是,发现了,由于这个数组中只有1 2 3 这三个数字,所以,我们.....
分类:
其他好文 时间:
2015-09-19 10:58:39
阅读次数:
144
逆序数=两子序列的逆序数+本序列逆序数 我们知道在对序列进行二路归并排序的时候,要将序列拆分成若干子序列,先将子序列排序,再合并子序列构成最终排序后的序列。二路归并算法还有一个特点,在进行归并操作时候的两个子序列是有序序列,所以,我们可以利用这一点,在归并子序列的时候,其中的子序列内部的逆序数...
分类:
其他好文 时间:
2015-09-15 16:23:45
阅读次数:
139
求逆序数时间限制:2000 ms | 内存限制:65535 KB 难度:5描述在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。比如 1 3 2 的逆...
分类:
编程语言 时间:
2015-09-12 21:49:05
阅读次数:
186
题目传送门题意:可以交换两个相邻的数字顺序k次,问最后逆序对最少有多少分析:根据逆序数的定理如果逆序数大于0,那么必定存在1#include #include #include #include #include #include #include #include #include #includ...
分类:
其他好文 时间:
2015-09-12 21:46:11
阅读次数:
190