1. 索引和指针排序:因为元素的数量或者数据量巨大等原因,我们不希望频繁移动要排序的元素。因此,不移动元素的排序方法是维持一个索引数组或者索引指针,而排序的目标就是重排索引数组或指针。
2. 链表排序:排序对象为链表形式的数据
3.关键字排序:具有相同关键字的数据...
分类:
编程语言 时间:
2015-03-13 14:21:49
阅读次数:
172
选择排序,插入排序,冒泡排序,关键字排序,索引和指针排序,链表排序
如果被排序的文件适合放在内存中,则排序方法称为“内部排序”;从磁盘上对文件排序称为“外部排序”。区别是内部排序可以很容易的访问任何元素,但是外部排序必须顺序访问元素,至少在大的数据块是如此。...
分类:
编程语言 时间:
2015-03-12 22:36:21
阅读次数:
154
离线后以宗教为第一关键字,操作时间为第二关键字排序。块状树,线下ac,线上tle……#include#include#include#include#includeusing namespace std;queueq;int f,c;inline void R(int &x){ c=0;f=1...
分类:
其他好文 时间:
2015-03-09 08:11:54
阅读次数:
203
题目好长显得很高大上的样子其实一点也不是这样= =
再次感谢里奥同学的友情支持,没有他我现在还在一片云里雾里。
之前看ruka上一直说:可以自定义排序,但必须自定义小于号或者是比较函数,一直苦于如何实践,今天请教了里奥同学,终于拨云见日。
这样的题有很多类似的,像是codevs 3991排序(例题代码即为此题,但我会告诉你我是用后面那个题代码改的么···) 洛谷P1104 生日 都是很简单...
分类:
编程语言 时间:
2015-02-11 22:04:03
阅读次数:
241
题目链接:BZOJ - 2724题目分析这道题和 BZOJ-2821 作诗 那道题几乎是一样的,就是直接分块,每块大小 sqrt(n) ,然后将数字按照数值为第一关键字,位置为第二关键字排序,方便之后二分查找某个值在某个区间内出现的次数。预处理出 f[i][j] 即从第 i 块到第 j 块的答案。对...
分类:
其他好文 时间:
2015-01-25 20:58:12
阅读次数:
215
一种排序时间限制:3000ms | 内存限制:65535KB难度:3描述现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形,按照长方形的长...
分类:
编程语言 时间:
2015-01-20 20:24:24
阅读次数:
295
基数排序是一种借助“多关键字排序”的思想来实现“单关键字排序”的内部排序算法。实现多关键字排序通常有两种作法: 最低位优先法(LSD) 先对K[0]{基数的最低位}进行排序,并按 K(0) 的不同值将记录序列分成若干子序列之后,分别对 K[1] 进行排序,..., K[d-1]依次类推,直至最后对最次位关键字排序完成为止。 最高位优先法(MSD) 先对 K[d-1]{基数的最高位...
分类:
编程语言 时间:
2015-01-11 10:59:26
阅读次数:
305
对于这类区间查询的问题,如果可以用O(1)的复杂度推到一个曼哈顿距离为1的另外区间的话,就可以直接用莫队算法搞。从网上搜到的有两种搞法。第一种是先建立曼哈顿距离最小生成树,然后直接dfs遍历整棵树来求解的。还有一种是先分块,然后把查询按照块的编号为第一关键字,右边界为第二关键字排序,排序直接直接暴力...
分类:
编程语言 时间:
2014-12-14 14:33:46
阅读次数:
194
题意:宝藏在一些点中,只能从(0,0)出发,每次只能向右(x+1,y)或是向上走(x,y+1)。问要走几趟才能取完宝藏。
解法:按x,y分别为第一二关键字排序,那么一趟下来,y坐标是个非递减序列。然后转化成问y方向能由最少为多少的非递减序列个数组成。这个等效于求严格递减序列的长度。即nlogn求最长严格递减序列长度即可。
代码:/************************...
分类:
其他好文 时间:
2014-11-26 18:59:53
阅读次数:
159
莫队算法,离线回答询问,按一定大小(sqrt(n*log(n))左右)将答案分块,按 ①左端点所在块②右端点 双关键字排序。然后暴力转移。转移的时候用树状数组。O(n*sqrt(n)*log(n))。注意:①在一列数的后面添加一个数,逆序对数会增加 数列中比它大的数的个数。②在一列数的后面删除一个数...
分类:
编程语言 时间:
2014-10-29 12:28:39
阅读次数:
273