随笔分类 -  Hash表

Hash表
摘要:##AcWing 841. 字符串哈希 一、题目描述 给定一个长度为 n 的字符串,再给定 m 个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1][l2,r2] 这两个区间所包含的字符串子串是否完全相同。 字符串中只包含大 阅读全文
posted @ 2021-09-16 13:59 糖豆爸爸 阅读(539) 评论(2) 推荐(2) 编辑
摘要:题目传送门 一、什么是散列表 又称哈希表,将一个比较大的值域映射到一个小的范围,比如0109,映射到0105范围内。原因是原来的值域是比较稀疏的,稠密的。 类似于离散化,离散化保序,而哈希表不保序。离散化是一种极其特殊的Hash方式。 一般的操作有: 插入 查找 删 阅读全文
posted @ 2021-09-16 13:41 糖豆爸爸 阅读(632) 评论(0) 推荐(0) 编辑
摘要:题目传送门 理解与感悟 1、字符串Hash 2、使用STL中的unordered_map很方便就可以建立字符串Hash, 否则需要采用类似于126进制的办法计算出字符串HASH,再MOD,麻烦。 3、value值是一个二维数组的一维下标,表示字符串的HASH映射值,比如:1,2,3,4,5,... 阅读全文
posted @ 2021-08-09 14:51 糖豆爸爸 阅读(81) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、STL+scanf大法 #include <bits/stdc++.h> using namespace std; int t;//数据组数 int n;//表示给定的数 unordered_map<int, int> _map; int x; int main() { scanf( 阅读全文
posted @ 2021-08-09 14:11 糖豆爸爸 阅读(61) 评论(0) 推荐(0) 编辑
摘要:题目传送门 理解与感悟 1、字符串Hash,其实是存储的字符串的整数映射值。这个整数映射的计算有不同的方法,一般采用模拟N进制的方式获取。N通常是大于127,就是ASCII的字符上限,如果只有大写或小写,也可以使用26. 2、模后拉链的办法很常用,学习其思想。 3、STL真是封装的太棒了,不用自己费 阅读全文
posted @ 2021-08-07 09:23 糖豆爸爸 阅读(76) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、模板方法 #include <bits/stdc++.h> using namespace std; const int K = 130; //一个大于128的数字 const int MOD = 23333; //素数常数 int n; //字符串个数 int ans; //结果 阅读全文
posted @ 2021-08-06 13:47 糖豆爸爸 阅读(69) 评论(0) 推荐(0) 编辑

Live2D
点击右上角即可分享
微信分享提示