双哈希数不同的子串

👁️ 1 人浏览 💬 0 人评论 ❤️ 添加收藏

用 unsigned long long 做前缀哈希:h[i+1] = h[i] × B + 字母序号(a 记 1),不取模,让它自然溢出。

一段文本 abababcababcabababc(19 个字符,下标从 0 起)和一个模式 ababc。

再配一套「模 10^9+7」的哈希,两套值都一样才算相同。补全 key,输出 T 里长度为 3 的子串一共有几种。

(本题用 g++ -std=c++17 -O0 编译。)

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论