摘要:
参考:IOI2021 国家集训队论文 胡昊 以下表示字符串的下标都是 \([0,|S|-1]\),设 \(n\) 为最后一项下标也就是 \(|S|-1\) 定义 定义简单串 \(S\) 指 \(\forall i\in [1,|S|-1],S[i,n]>S\),也即 任意真后缀大于 \(S\) 定义 阅读全文
摘要:
link A 显然可以分治计算,我们只需要计算跨过中点(含 \(t\) 也就是的匹配次数,就可以递归处理) 那么这就相当于是枚举匹配位置,查前面的后缀和后面的前缀能否匹配,可以暴力地贪心扩展若干轮直到 \(|s_i|\ge 10^6\),这时候直接利用哈希判断即可。 复杂度大概是 \(O(\sum 阅读全文
摘要:
建议看到结论之后直接画图自己推 目前定义 \(s[l,r]\) 为字符串 \(s\) 的 \([l,r]\),定义 \(nxt_i\) 为 KMP 算法所得。 定义: \(s[1,i]=s[n-i+1,n]\),则称 \(s[1,i]\) 是 \(s\) 的一个 border 可能证明会比较浅显,但 阅读全文