一、桶排序 这是一个非常快的排序算法。桶排序从1956年就开始被使用,该算法的基本思想是由 E.J.Issac 和R.C.Singleton 提出来的。之前我说过,其实这并不是真正的桶排序算法,真正的 桶排序算法要比这个更加复杂。 示例:数组 {5, 3, 5, 2, 8} 进行排序(已知最大数值不 ...
分类:
编程语言 时间:
2017-08-02 13:04:45
阅读次数:
197
冒泡排序 O(n^2) 选择排序 O(n^2) 插入排序 O(N) 计数排序 稳定性 面试题 1. 2. 改写为非递归版本的堆排序 3. 4. 0 2区 5. O(m+n) O(1) 向左 向下移动 6. 最右位置为4 7. ...
分类:
编程语言 时间:
2017-08-01 14:20:42
阅读次数:
132
今天3题都很丧。 我只会T1,所以我很弱 T1要有桶排序,不然会T,被卡常 做法就是先排序,然后前缀和乱搞 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define ll long long # ...
分类:
其他好文 时间:
2017-07-30 23:35:24
阅读次数:
126
题意:给定一个序列,让你构造出一个序列,满足条件,且最大。条件是 选取一个ai <= max{a[b[j], j]-j} 析:贪心,贪心策略就是先尽量产生大的,所以就是对于B序列尽量从头开始,由于数据比较大,采用桶排序,然后维护一个单调队列,使得最头上最大。 代码如下: ...
分类:
其他好文 时间:
2017-07-27 20:30:17
阅读次数:
177
#include<stdio.h> #include<string.h> int nTestCase[300001]; int nNumbers[32001]; int main() { freopen("sample_input.txt","r",stdin); int i, j, test, c ...
分类:
编程语言 时间:
2017-07-22 14:28:17
阅读次数:
183
前几天新打了一把主席树,感觉萌萌哒。个人感觉主席树像是线段树的增强版。先上一道主席树的模板题:对一个序列a,多次求区间[l,r]第K大是多少,要求解决每次询问的时间复杂度为O(log n),n为元素个数。直观的想法就是从左到右扫,类似计数排序一样每遇到一个数x就在上一棵线段树的基础上对相应位置+1( ...
分类:
其他好文 时间:
2017-07-21 23:17:46
阅读次数:
303
先明白 基数排序 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为 ...
分类:
编程语言 时间:
2017-07-19 01:12:09
阅读次数:
214
两两分组,然后取每组的最小值来求和,让和最大。 如何桶排序? ...
分类:
编程语言 时间:
2017-07-15 19:55:33
阅读次数:
275
1 //简化版的桶排序,时间复杂度为O(2*(m+n))->O(m+n) 2 //处理的问题:随机输入几组数,对这几组数进行自动排序操作(从小到大或从大到小排序) 3 #include 4 using namespace std; 5 inline int read() 6 { 7 int x=0,... ...
分类:
编程语言 时间:
2017-07-11 11:17:50
阅读次数:
222
常用排序总结: 常用排序总结: 稳定性作用: 1.通常对只有一个key的记录来排序时,若两个记录的key相同,稳定排序不会改变排序前 后的顺序。 2.对有多个key来说,如基数排序,从次要key开始排序,在次要key排序完成后,a1排在 a2前,而a1和a2优先级大的key相同,当优先级大的key排 ...
分类:
编程语言 时间:
2017-07-09 19:44:30
阅读次数:
214