无符号数溢出以后等于什么

第 1 步:H[i] 是前 i 个字的哈希 第 2 步:每往后一格:乘 B 再加一个字 第 3 步:要子串 [2, 5):看 H2 和 H5 第 4 步:H2 先乘 B³,挪到同一位上 第 5 步:H5 减它,剩下的就是子串 H0 H1 H

开始练习 →

为什么用无符号数做自然溢出

自然溢出哈希要用 unsigned long long,不能用有符号的,是因为【0】。

开始练习 →

自然溢出哈希为什么会被卡

自然溢出哈希在竞赛里有时会被特殊数据卡掉,原因是【0】。

开始练习 →

零减一变成了多少

运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; int main() {

开始练习 →

两段子串的哈希相等吗

用 unsigned long long 做前缀哈希:h[i+1] = h[i] × B + 字母序号(a 记 1),不取模,让它自然溢出。 运行下面这段程序: #include <iostream> #include <

开始练习 →

补全前缀哈希

用 unsigned long long 做前缀哈希:h[i+1] = h[i] × B + 字母序号(a 记 1),不取模,让它自然溢出。 补全前缀哈希的递推,输出字符串 abc 的整体哈希 h[3](B = 131)。 (本题用 g++

开始练习 →

补全幂数组

用 unsigned long long 做前缀哈希:h[i+1] = h[i] × B + 字母序号(a 记 1),不取模,让它自然溢出。 子串哈希要用到 B 的各次幂。补全 pw 的递推,输出 pw[5](B = 131)。 (本题用

开始练习 →

用子串哈希找位置

用 unsigned long long 做前缀哈希:h[i+1] = h[i] × B + 字母序号(a 记 1),不取模,让它自然溢出。 一段文本 abababcababcabababc(19 个字符,下标从 0 起)和一个模式 aba

开始练习 →

双哈希数不同的子串

用 unsigned long long 做前缀哈希:h[i+1] = h[i] × B + 字母序号(a 记 1),不取模,让它自然溢出。 一段文本 abababcababcabababc(19 个字符,下标从 0 起)和一个模式 aba

开始练习 →

用正反哈希判回文

用 unsigned long long 做前缀哈希:h[i+1] = h[i] × B + 字母序号(a 记 1),不取模,让它自然溢出。 一个串正着算一遍哈希、倒着再算一遍,两个一样就是回文。补全 is_pal,依次判断 abccba、

开始练习 →