前言 这是一篇新的字符串 hash 介绍文章,5 年前的那篇其实也讲的差不多了,但也有许多问题,而且也不知道当时为什么前前后后提了那么多次暴雪,看起来像是一篇暴雪的软文 = =。 文章虽然归类为字符串部分,但知识是属于 hash 的一部分,所以如果不了解 hash 的概念请参见:7.2 哈希表 (总 ...
分类:
其他好文 时间:
2020-05-30 21:32:07
阅读次数:
60
redis有五种基本数据结构:字符串、hash、set、zset、list。但是你知道构成这五种结构的底层数据结构是怎样的吗? 今天我们来花费五分钟的时间了解一下。 1、string 这里不得不提动态字符串 SDS,即 ”simple dynamic string" 的缩写。redis 中所有场景中 ...
分类:
其他好文 时间:
2020-05-19 20:26:46
阅读次数:
59
字符串hash+二分答案 "Palindrome poj 3974" 求一个字符串的最长回文子串。 因为在学字符串hash,所以这里用二分答案和字符串hash来做,复杂度是O(N log N),据说manacher算法可以在O(N)解决这个问题,但是我还没学哈哈哈哈以后补吧 题解:枚举回文子串的中心 ...
分类:
其他好文 时间:
2020-04-20 21:27:55
阅读次数:
60
一、前言 Redis 提供了5种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要。 原文解析 ![Redis五种数据类型][1] Redis 中的 list 是我们经常使用到的一种数据 ...
分类:
其他好文 时间:
2020-04-15 11:05:37
阅读次数:
75
Hash记录字符串模板: mod常常取1e9+7,base常常取299,,127等等等....有的题目会卡Hash,因为可能会有两个不同的Hash但却有相通的Hash值...这个时候可以用双Hash来判断。Hash值还是很巧妙的... ll getHash(ll x,ll y){ return (H ...
分类:
其他好文 时间:
2020-04-12 18:38:25
阅读次数:
68
1 字符串 Hash const ll mod[3] = {900000011, 998244353, 1000000007}; const ll bas[3] = {4493, 8111, 8527}; // you can choose your bases and modulos char s ...
分类:
其他好文 时间:
2020-04-09 12:22:45
阅读次数:
62
一、前言 Redis 提供了5种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要。 ![Redis五种数据类型][2] Redis 中的 list 是我们经常使用到的一种数据类型,根据 ...
分类:
其他好文 时间:
2020-04-02 17:29:28
阅读次数:
81
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3973/ 题意是:给出一个模式串,再给出一些串组成一个集合,操作分为两种,一种是替换模式串中的一个字符,还有一种是查询模式串中[l,r]区间的字符串有没有出现在字符串集合中。 由于数据量很大,只能用O(nlogn) ...
分类:
其他好文 时间:
2020-03-08 19:36:17
阅读次数:
56
将整个字符串或者是字符矩阵hash为一个P进制数字,数字需要对2^64取余数,unsigned long long 即为2^64,所以将所有与字符串相关的数字都设置为ull即可,当P=131或P=13331的时候冲突概率几乎为0,对字符串的操作可以直接对字符串对应的P进制数字进行 已知 str 的h ...
分类:
其他好文 时间:
2020-03-04 00:11:10
阅读次数:
64