https://vjudge.net/contest/573644#problem/K
字符串匹配,但卡空间。
考虑哈希做法,不妨把 \(s\) 每 \(20000\) 个字符哈希成一个字符,于是 \(s\) 长度只有 \(500\),可以跑个 KMP。
于是对于 \(t\),我们只需要同时维护 \(20000\) 个 KMP 的指针。
但如果字符串长度不是 \(20000\) 的倍数怎么办呢?注意到我们可以手动 hash 匹配最后一个不完整区间,gg!
复杂度线性,正确性不好说,因为要 hash!
- 题解 quot Matching Mianyang Pattern题解quot matching mianyang 题解call mianyang ccpc completetripartite quot leetcode pattern quot understanding pattern package 题解matching p4696 2011 题解matching match 118d 题解manhattan matching 034d 题解weighted matching general 题解matching ceoi 2011 题解educational contest-o matching