随笔分类 - Hash表
Hash表
摘要:题目传送门 一、什么是散列表 又称哈希表,将一个比较大的值域映射到一个小的范围,比如,映射到范围内。原因是原来的值域是比较稀疏的,稠密的。 类似于离散化,离散化保序,而哈希表不保序。离散化是一种极其特殊的方式。 一般的操作有: 插入 查找 删
阅读全文
摘要:题目传送门 理解与感悟 1、字符串Hash 2、使用STL中的unordered_map很方便就可以建立字符串Hash, 否则需要采用类似于126进制的办法计算出字符串HASH,再MOD,麻烦。 3、value值是一个二维数组的一维下标,表示字符串的HASH映射值,比如:1,2,3,4,5,...
阅读全文
摘要:题目传送门 一、STL+scanf大法 #include <bits/stdc++.h> using namespace std; int t;//数据组数 int n;//表示给定的数 unordered_map<int, int> _map; int x; int main() { scanf(
阅读全文
摘要:题目传送门 理解与感悟 1、字符串Hash,其实是存储的字符串的整数映射值。这个整数映射的计算有不同的方法,一般采用模拟N进制的方式获取。N通常是大于127,就是ASCII的字符上限,如果只有大写或小写,也可以使用26. 2、模后拉链的办法很常用,学习其思想。 3、STL真是封装的太棒了,不用自己费
阅读全文
摘要:题目传送门 一、模板方法 #include <bits/stdc++.h> using namespace std; const int K = 130; //一个大于128的数字 const int MOD = 23333; //素数常数 int n; //字符串个数 int ans; //结果
阅读全文