题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路:1、顺序扫描顺序扫描整个数组,每扫描到一个数字,就将该数字跟后面的数字比较,如果大于的话,则这两个数字构成了逆序对。(比较简单,这里就不贴出代码)时间复杂度:O(n...
分类:
编程语言 时间:
2015-07-26 12:25:40
阅读次数:
156
题意:交换自然数中的若干对数,求交换后总共有多少逆序数对。思路:因为题目数字范围比较大,不能直接用树状数组算,首先要离散化。然后一种算法是官方题解中根据逆序对数是否属于交换过的数分类讨论统计。我的算法是把没有交换的连续的数看成一个数,使用树状数组统计的时候直接加上这个区间的数字个数,这样就不需要繁琐...
分类:
编程语言 时间:
2015-07-25 07:05:55
阅读次数:
121
Problem: 2299 User: shu_dayangMemory: 7380K Time: 500MSLanguage: C++ Result: AcceptedSource Code//树状数组#include#include#include#includetypedef long ...
分类:
编程语言 时间:
2015-07-23 00:32:44
阅读次数:
144
CrossingsTime Limit: 20 SecMemory Limit: 256 MB题目连接http://codeforces.com/gym/100463DescriptionGiven a permutation P of {0, 1, ..., n ? 1}, we define t...
分类:
其他好文 时间:
2015-07-21 20:31:13
阅读次数:
111
CrossingsTime Limit: 2 SecMemory Limit: 256 MB题目连接http://codeforces.com/gym/100463DescriptionIn this problem, you have to analyze a particular sorting...
分类:
其他好文 时间:
2015-07-21 20:27:29
阅读次数:
111
题意:给你一个序列,和标准序列连线,求交点数。题解:就是求逆序对个数,用数组数组优化就行了。做八数码的时候,求逆序数搜过怎么求,但是练习时忘了。。。于是当场想怎么实现,结果搞了1个小时才搞出来,还被WA了个LongLong,基础还不够扎实#include#include#include#includ...
分类:
编程语言 时间:
2015-07-21 18:32:03
阅读次数:
119
补这一道题,当时题意没有看懂,后来看懂了题意
给你n个点,然后又两个序列,然后把这两个序列中相等数连接起来,每两条连线中间看有几个点,求所有连线中间的点的个数和。
序列{2 , 5 , 4 , 1 ,3}和{1 ,5,3 ,2 ,4}的连接图如下
比如说1-1和4-4中间的点是5,3,2
显而易见这是求逆序对的个数#include
#include
#i...
分类:
其他好文 时间:
2015-07-20 14:26:35
阅读次数:
139
题意: 输入0 ~ n-1 总共n个数,每次取最前面的一个数放到序列最后面形成新的序列,问这些序列中逆序对数目最少的是多少。如: 输入0,3,2,4,1,5先求逆序对数目,第一次将0放到最后 3,2,4,1,5,0 再求逆序对数目,依次下去,取逆序对数目最小值。用线段树求最初输入的序列的逆序对。求逆...
分类:
其他好文 时间:
2015-07-18 17:00:04
阅读次数:
110
这个题目如果没有限制你的时间复杂度,那么它的在O(n2) 里面完成的话, 那么就很简单 了。但是如果发求你在O(n)的时间复杂度里面完成。那么这还是有点挑战性的。题目的分析:对于逆序对的理解先看方法:如上面的所示,对于该算法以,我们首先将数组划分成一个一个的数字(为了排序),然后拆分成了两个己排好序...
分类:
编程语言 时间:
2015-07-17 20:56:09
阅读次数:
253
数列【题目描述】一个简单的数列问题:给定一个长度为n的数列,求这样的三个元素 ai,aj,ak 的个数,满足 aiak,且 iak (i<j<k) 的个数。【输入样例】512341【输出样例】6【数据规模】对于30%的输入数据有n<=200。对于80%的输入数据有n<=10000。对于100%的输....
分类:
其他好文 时间:
2015-07-16 21:52:36
阅读次数:
226