一个序列a1,a2,a3...aN,求出满足:ai > aj 且 i
一个最容易想到的方法就是枚举所有的i,j看看是否满足,显然是O(n^2)的复杂度。不够好。
可以这样考虑,开一个数组保存这n个数出现的位置和对应的次数,这个数组要开到a数组里最大的那个数MAX,也就是hash,初始状态数组里没有元素,每个数对应的个数都是0.
如果考虑第i个数,找到比它大的所有的数 的个数,查找的范围即 ...
分类:
其他好文 时间:
2014-08-16 23:52:31
阅读次数:
425
A. Laptops题意:给两个数列,问是否存在i,j,是的a[i]b[j]题解:先把一维排序,就是问是否存在逆序对。我写了个树状数组。。。貌似从a小到大扫一遍保存遇到的b的最大值即可代码: 1 var s,a,b,c:array[0..150000] of longint; 2 i,n,m...
分类:
其他好文 时间:
2014-08-16 13:43:40
阅读次数:
225
题目链接:uva 716 - Commedia dell' arte
题目大意:给定一个三维的八数码,0表示空的位置,问说是否可以排回有序序列。
解题思路:对于n为奇数的情况,考虑三维八数码对应以为状态下去除0的时候逆序对数,偶数的情况下,考虑将0的位置转移到(n,n,n)位置后对应序列的逆序对数。如果逆序对数为偶数即为可以,奇数不可以。
#include
#include
#i...
分类:
其他好文 时间:
2014-08-14 01:28:17
阅读次数:
222
题解:首先,按照题目要求生成数列,需要注意的是数据超过了int的范围,所以要开long long,然后,就用逆序对的思想求单调数列的个数。#include #include using namespace std;const int mod=1000000007;typedef long long ...
分类:
其他好文 时间:
2014-08-13 21:51:17
阅读次数:
190
题解:首先是很基础的树状数组求逆序对,然后对于每一个第一个数往后移动,对于逆序数的贡献是n-a[i]-1-a[i]。枚举然后求最小值即可。#include #include #include using namespace std;int n,c[5001],x,a[5001];int add(in...
分类:
其他好文 时间:
2014-08-13 17:46:06
阅读次数:
255
题意:求逆序对解题思路:1)树状数组 + 离散化解题代码: 1 // File Name: a.cpp 2 // Author: darkdream 3 // Created Time: 2014年08月05日 星期二 12时05分09秒 4 5 #include 6 #include 7 #in....
分类:
其他好文 时间:
2014-08-12 08:57:23
阅读次数:
182
1001 题意:求逆序对,然后交换k次相邻的两个数,使得剩下的逆序对最少。分析:题目用到的结论是:数组中存在一对逆序对,那么可以通过交换相邻两个数使得逆序对减少1,交换k次,可以最多减少k个。嘉定ai>aj,i aj,那么ak,aj构成逆序对,交换后逆序对减少1;#12:ak=ai那么ak,aj构....
分类:
其他好文 时间:
2014-08-10 01:28:40
阅读次数:
292
UVA 716 - Commedia dell' arte
题目链接
题意:给定一个三维的n数码游戏,要求变换为按顺序,并且最后一个位置是空格,问能否变换成功
思路:和二维的判定方法一样,因为z轴移动,等于交换N^2 - 1次,y轴移动等于交换N - 1次,x轴移动不变,逆序对的奇偶性改变方式不变。
那么n为偶数的时候,逆序对为偶数可以,为奇数不行
n为奇数时候,看空格位...
分类:
其他好文 时间:
2014-08-08 21:21:16
阅读次数:
348
2-4 逆序对 设A[1...n]是一个包含n个不同数的数组,如果在iA[j],则(i,j)就称为A中的一个逆序对(inversion)。 a)列出数组的5个逆序对 b)如果数组的元素取自集合{1,2,...,n}, 那么, 怎样的数组含有最多的逆序对?它包含多少个逆序对? c)插入排...
分类:
其他好文 时间:
2014-08-08 01:31:15
阅读次数:
271
2431: [HAOI2009]逆序对数列Time Limit:5 SecMemory Limit:128 MBSubmit:831Solved:473[Submit][Status]Description对于一个数列{ai},如果有iaj,那么我们称ai与aj为一对逆序对数。若对于任意一个由1~n...
分类:
其他好文 时间:
2014-08-07 22:02:16
阅读次数:
212