原文:http://blog.csdn.net/alongela/article/details/8142965给定n个数,要求这些数构成的逆序对的个数。除了用归并排序来求逆序对个数,还可以使用树状数组来求解。树状数组求解的思路:开一个能大小为这些数的最大值的树状数组,并全部置0。从头到尾读入这些数...
分类:
编程语言 时间:
2015-09-05 12:23:33
阅读次数:
147
题目就是让你求逆序数,用树状数组很简单,不过数据太大,要先进行离散化,将数据范围压缩到1~n以内。还有poj竟然不支持c++11,害得我lambda表达式编译错误。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
编程语言 时间:
2015-08-17 14:10:03
阅读次数:
154
题目链接:http://poj.org/problem?id=2299题意就是求把数组按从小到大的顺序排列,每次只能交换相邻的两个数, 求至少交换了几次就是求逆序数用归并排序#include#include#include#define N 501000using namespace std;int...
分类:
编程语言 时间:
2015-08-09 20:26:33
阅读次数:
126
原题:DescriptionIn this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swappi...
分类:
其他好文 时间:
2015-08-07 21:45:37
阅读次数:
142
Description:In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping...
分类:
编程语言 时间:
2015-08-05 08:54:01
阅读次数:
159
归并排序求逆序数Time Limit:7000MSMemory Limit:65536KB64bit IO Format:%I64d & %I64uDescriptionIn this problem, you have to analyze a particular sorting algorit...
分类:
编程语言 时间:
2015-08-03 14:15:21
阅读次数:
122
Description
In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two adjacent sequence elements until the seque...
分类:
编程语言 时间:
2015-06-21 11:56:32
阅读次数:
126
Description
In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two adjacent sequence elements until the seque...
分类:
其他好文 时间:
2015-06-03 15:48:26
阅读次数:
108
http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=site888_3_pg&wd=poj2299&rsv_pq=c6250e92000864c1&rsv_t=a305QkcqHDKN9UxMSMRUmR24ngB6j6l8pUc5B2XnXS887NCqpOicwHRtO2V6KerME6DA&rsv_enter=1&inputT=719&rsv_su...
分类:
其他好文 时间:
2015-05-24 11:38:51
阅读次数:
138
题目大意:
给你一个包含N个整数的序列,只能通过交换相邻的数字,最终变为升序顺序,问:最少需要多少次交换。
思路:
其实就是问冒泡排序的交换次数。其实就是求原序列的逆序数。用归并排序、线段树、树状数组都可以做。
但是如果用线段树和树状数组来做的话,因为元素个数是500000,但是元素值范围却是999999999,需
要先离散化。这里用间接排序的方法。用一个数组Arr[]存放原序列的值,另一个数组Id[]存放原序列编号
(1~N),对Id[]按Arr[]元素值的从大到小排序,得到Arr[]数组元素的相对大小...
分类:
编程语言 时间:
2015-05-13 16:50:31
阅读次数:
141