我们可以维护一个$f[i][j]$代表%$i$意义下得$j$的答案。然后维护就炸了。 先设$x=\sqrt{n}$然后我们发现,当$i x$时我们直接暴力复杂度为$O(x)$,然后我们对$i\leq{x}$的i维护$f[i][j]$,这样询问复杂度$O(1)$,维护复杂度$O(x)$。就可以通过此题 ...
分类:
其他好文 时间:
2018-12-15 19:44:17
阅读次数:
164
想了好久,没想到优秀的解法,结果是个暴力~~大吃一静.jpg~~ 分类讨论,预处理$p\le \sqrt{n}$ 的情况,其他直接暴力,复杂度$O(n \sqrt{n} )$ cpp include include include include using namespace std; int p ...
分类:
其他好文 时间:
2018-11-25 13:21:25
阅读次数:
118
HashMap集合的默认容量为什么是16而不是15? 假设有两个key的hash值为8、9; --容量16-- 8 &(16-1) 1000 & 1111 = 1000 =>8号位置 9 &(16-1) 1001 & 1111 = 1001 =>9号位置 --容量15--hash冲突,碰撞 8 &( ...
分类:
其他好文 时间:
2018-11-17 19:05:33
阅读次数:
207
根号算法 这道题暴力92pts。。。 所以说暴力出奇迹! 其实用什么哈希都是在做幌子,要你求的就是从$k$位置开始,隔$p$个数的数字加起来的和。 我们考虑用一个二维数组存下来,用$ans[p][k]$表示模数为$p$,余数为$k$的答案。 如果把所有的模数都处理,跟暴力是没有差别的,甚至还会更劣。 ...
分类:
其他好文 时间:
2018-11-04 23:01:59
阅读次数:
158
哈希冲突处理实践 实验要求 把自己的学号加21,例如学号为1,把22添加到序列后面,使用链地址法,解决冲突。 编程实现,并测试。 要求计算asl,输出冲突次数。 关键代码及结果截图 "代码链接" ...
分类:
其他好文 时间:
2018-10-22 21:22:29
阅读次数:
118
/*哈希查找 *哈希函数的构造方法常用的有5种。分别是: *数字分析法 *平方取中法 *分段叠加 *伪随机数 *除留取余法 *这里面除留取余法比较常用 *避免哈希冲突常用的方法有4种: *开放定址法(线性探测再散列、二次探测再散列) *链地址法 *再哈希法 *建立公共溢出区 其中,线性探测再散列比较 ...
分类:
编程语言 时间:
2018-10-14 00:29:43
阅读次数:
199
1、开放定址法: Hi=(H(key)+di)% m 其中H(key)为哈希函数,m 为表长,di称为增量序列。根据增量序列的取值方式不同,具体到下面三种散列方法: 线性探测再散列:di=1,2,3,…,m-1 二次探测再散列:di=1^2,-1^2,2^2,-2^2,…,k^2,-k^2 ( k< ...
分类:
其他好文 时间:
2018-09-19 14:47:13
阅读次数:
137
面试涉及问题含有: Java JDK8新特性 集合(哈希冲突、HashMap的原理、自动排序的集合TreeSet) 多线程安全问题 String和StringBuffer JVM 原理、运行流程、内部结构 Linux 查询含有某字符串内容的命令grep 查询进程、GC状态、杀死进程 Hadoop五种 ...
分类:
编程语言 时间:
2018-09-09 00:38:47
阅读次数:
213
本篇介绍的HashMap综合了ArrayList和LinkedList这两个集合的优势,它的底层是基于哈希表实现的,如果不考虑哈希冲突的话,HashMap在增删改查操作上的时间复杂度都能够达到惊人的O(1)。 对于HashMap类源码中开头注释翻译: HashMap基于哈希表的 Map 接口的实现。 ...
分类:
编程语言 时间:
2018-08-21 22:35:20
阅读次数:
216
1 底层数据结构 数组(主体) + 链表(解决哈希冲突) 2 实现原理 HashMap 的主干是一个Entry数组,初始值是一个空数组 {}。 Entry是HashMap的基本组成单元,每一个Entry包含一个 key-value 键值对。 HashMap 整体结构 Entry源码 HashMap源 ...
分类:
其他好文 时间:
2018-07-28 21:44:51
阅读次数:
130