【题解】 Pattern Matching in A Minor "Low Space" CCPC Mianyang 2022

发布时间 2023-08-07 18:30:20作者: Imakf

https://vjudge.net/contest/573644#problem/K

字符串匹配,但卡空间。

考虑哈希做法,不妨把 \(s\)\(20000\) 个字符哈希成一个字符,于是 \(s\) 长度只有 \(500\),可以跑个 KMP。

于是对于 \(t\),我们只需要同时维护 \(20000\) 个 KMP 的指针。

但如果字符串长度不是 \(20000\) 的倍数怎么办呢?注意到我们可以手动 hash 匹配最后一个不完整区间,gg!

复杂度线性,正确性不好说,因为要 hash!