【題解】 Pattern Matching in A Minor "Low Space" CCPC Mianyang 2022
https://vjudge.net/contest/573644#problem/K
字符串匹配,但卡空間。
考慮哈希做法,不妨把 \(s\) 每 \(20000\) 個字符哈希成一個字符,于是 \(s\) 長度只有 \(500\),可以跑個 KMP。
于是對于 \(t\),我們只需要同時維護 \(20000\) 個 KMP 的指針。
但如果字符串長度不是 \(20000\) 的倍數怎么辦呢?注意到我們可以手動 hash 匹配最后一個不完整區間,gg!
復雜度線性,正確性不好說,因為要 hash!

浙公網安備 33010602011771號