摘要: 推导 表示母串 和子串 的最长公共前缀。 表示 和`t[1..lent]`的最长公共前缀。 假设 已经算好,现在想求 。 我们先找出 中, 的最大值 ,并且记此时的 为`a`。 可知 ,自然有 ,记 。 出现两种情况: 这样会发现有未知情况,因此就再度匹配,直至适配,然后更新 。 cpp int l 阅读全文
posted @ 2017-11-26 21:43 poorpool 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 考虑dp[i]代表前缀s[1...i]出现的次数,必定有dp[nxt[i]] += dp[i] 倒着推就是了 cpp include include include using namespace std; int T, n, nxt[200005], dp[200005], ans; const 阅读全文
posted @ 2017-11-26 19:42 poorpool 阅读(173) 评论(0) 推荐(0) 编辑