查找方法有很多种,如:顺序查找,折半查找,分块查找,基于数的查找等等,但是这些查找有一个共同的特点,那就是都是通过比较的方式查找a[i]中的那个i,比如顺序查找,是通过顺序比较数组中的每个元素,最终找到i,折半查找只不过是在比较的时候用了一些技巧,使得比较的此数减少了,但是,原理还是比较,基于树的查找其实就是存储方式的不同(链表),其原理也是通过比较的方式找到i。
那有没有一种方法不通过比较,而...
分类:
其他好文 时间:
2014-12-13 17:58:06
阅读次数:
180
题意:在树中找到一个点i,并且找到这个点子树中的一些点组成一个集合,使得集合中的所有点的c之和不超过M,且Li*集合中元素个数和最大首先,我们将树处理出dfs序,将子树询问转化成区间询问。然后我们发现,对于单一节点来说,“使得集合中的所有点的c之和不超过M,且Li*集合中元素个数和最大”可以贪心地搞...
分类:
编程语言 时间:
2014-12-12 16:36:36
阅读次数:
249
题目大意:求[l,r]区间内有多少个质数可以分解为两个正整数的平方和
考虑到对于一个数Check一下是O(√n)的 我们可以将3*10^8分成3000块 每块10W 对于整块的打表求出有多少个质数 块内暴力
令n为块的大小 则时间复杂度为O(n√n)
打表时忘加优化忘开O2 打了一下午 各种酸爽
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-12-11 20:53:49
阅读次数:
533
1.压缩和输入分片 Hadoop中文件是以块的形式存储在各个DataNode节点中,假如有一个文件A要做为输入数据,给MapReduce处理,系统要做的,首先从NameNode中找到文件A存储在哪些DataNode中,然后,在这些DataNode中,找到相应的数据块,作为一个单独的数据分块,作为ma...
分类:
其他好文 时间:
2014-12-11 15:22:37
阅读次数:
185
论某O(n*sqrt(n))的带修改区间k大值算法。首先对序列分块,分成sqrt(n)块。然后对权值分块,共维护sqrt(n)个权值分块,对于权值分块T[i],存储了序列分块的前i块的权值情况。对于区间询问,需要获得区间中每个值出现的次数,然后按权值扫O(sqrt(n)),完整的部分我们可以通过权值...
分类:
其他好文 时间:
2014-12-11 13:59:55
阅读次数:
573
先用莫队算法保证在询问之间转移的复杂度,每次转移都需要进行O(sqrt(m))次插入和删除,权值分块的插入/删除是O(1)的。然后询问的时候用权值分块查询区间k小值,每次是O(sqrt(n))的。所以总共的复杂度是O(m*(sqrt(n)+sqrt(m)))的。常数极小。别的按权值维护的数据结构无法...
分类:
编程语言 时间:
2014-12-10 14:03:21
阅读次数:
459
查找算法目录概述查找算法顺序查找二分法分块查找查找算法的运用概述查找算法顺序查找二分法分块查找查找算法的运用
分类:
编程语言 时间:
2014-12-09 11:48:10
阅读次数:
206
http://www.cnblogs.com/autsky-jadek/p/4020296.html同bzoj2120。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int n,m,sz,sum,l[30]...
分类:
其他好文 时间:
2014-12-08 17:23:22
阅读次数:
307
技术要点:
分块查找也称为索引顺序查找,要求将待查的元素均匀地分成块,块间按大小排序,块内不排序,故要建立一个块的最大(或最小)关键字表,称为索引表。...
分类:
其他好文 时间:
2014-12-08 10:50:10
阅读次数:
142
Formula
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 155 Accepted Submission(s): 69
Problem Description
f(n)=(∏i=1nin?i+1)%10...
分类:
其他好文 时间:
2014-12-06 22:51:43
阅读次数:
257