这个套路还是蛮常见的 思路: 将操作分为两类, 大于$\sqrt{n}$ 的, 和小于它的 为什么要这么干 考虑暴力 , 每次修改$O(1)$ , 每次查询$O(n)$ 那么它的复杂度是$O(n^2)$ 的 观察发现, 修改的复杂度远小于查询, 导致复杂度不平衡 考虑在修改时预处理以降低查询复杂度 ...
分类:
其他好文 时间:
2019-10-06 00:07:00
阅读次数:
101
P3396 哈希冲突 比较巧妙的根号算法 将询问分成两类:模数<=len和>len的 对于第一类,开一个桶记录 对于第二类,暴力 时间复杂度(n+m)√n 代码: ...
分类:
其他好文 时间:
2019-10-03 14:24:33
阅读次数:
81
HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突 ...
分类:
其他好文 时间:
2019-09-28 23:25:21
阅读次数:
107
1. 为什么用HashMap? 1. 简述一下Map类继承关系? 1. 解决哈希冲突的方法? 1. 为什么HashMap线程不安全? 1. resize机制? 1. HashMap的工作原理是什么? 1. 有什么方法可以减少碰撞? 1. HashMap中hash函数怎么是是实现的? 1. 拉链法导致 ...
分类:
其他好文 时间:
2019-09-10 23:54:24
阅读次数:
206
题面 https://www.luogu.org/problem/P3396 题解 ...
分类:
其他好文 时间:
2019-08-28 23:58:08
阅读次数:
161
最近时间有点紧,暂时先放参考链接了,待有时间在总结一下: 查了好多,这几篇博客写的真心好,互有优缺点,大家一个一个看就会明白了: 参考 1. 先看这个明白拉链法(链地址法),这个带源码,很好看懂,只不过是只讲了拉链法一种; 2. 再看这个比较全的,四种全讲了,链接,这篇比较形象,有图。但是这两篇都没 ...
分类:
编程语言 时间:
2019-08-18 17:58:45
阅读次数:
273
字典 dict 1.字典是无序,可变的数据类型 2.字典:用于存储数据,存储大量数据,字典要比列表快,将数据和数据之间进行关联 定义一个字典: 字典的键: 可哈希的 不可变的数据类型 避免哈希冲突使用了 开放寻址法 要求唯一 如果有重复的后边值的将前面的值覆盖 字典的值: 可以任意 增: 删: 改: ...
分类:
编程语言 时间:
2019-07-20 00:08:27
阅读次数:
108
字典 无序的 字典用于存储大量数据,字典要比列表快,将数据和数据之间进行关联 定义一个字典: 字典的键: 可哈希的--不可变的数据类型--避免哈希冲突使用了 开放寻址法 不可哈希的--可变的数据类型 字典的值可以任意,字典的键要求唯一 如果有重复后面的值将会覆盖前面的值 字典是可变的类型数据 可以修 ...
分类:
其他好文 时间:
2019-07-10 18:20:18
阅读次数:
99
字典 字典是无序的,不可变数据类型 定义 : 用于存储数据,存储大量数据 字典要比列表快,将数据和数据之间进行关联 定义一个字典 字典中逗号分隔是一个元素 "常鑫" (键) : 10 (值) 键值对应 字典的键 1. 必须是可哈希的—— 不可变的数据类型(列表不可以)——避免哈希冲突,使用了开放寻址 ...
分类:
其他好文 时间:
2019-07-10 16:45:10
阅读次数:
113
题目链接:https://www.luogu.org/problemnew/show/P3396 题目描述 众所周知,模数的hash会产生冲突。例如,如果模的数p=7,那么4和11便冲突了。 B君对hash冲突很感兴趣。他会给出一个正整数序列value[]。 自然,B君会把这些数据存进hash池。第 ...
分类:
编程语言 时间:
2019-07-09 21:02:45
阅读次数:
223