字符串杂乱笔记

发布时间 2023-12-10 08:44:28作者: LiJoQiao

字符串哈希

将字符串的信息压缩到一个信息里面,一般压成一个值。

多项式哈希:
形如 \(h(s)=\sum\limits^{\left|s\right|}_{i=1}s_ibase^{i-1}\) 的哈希。

例:"abbab",使 a\(1\)b\(2\)base\(7\)

注:直接用 s[i]-'a' 会使得 a 的值为 \(0\),导致 aaaaaa 值相同。
所以用 s[i]-'a'+1 会好一点。

base 比较小容易调试,可以设 \(29\)
(《可以给人看的》人言否!)

多项式哈希会出一点问题,例:"ab"+"cd"="ad"+"cb"

矩阵哈希:
将字符串映射为一个数组,将字符串中各个字符代表的矩阵乘起来即为值。