BSOJ7075题解

感觉这一类 DP 至少不应该被叫做“LCS模型”,本质应该是其他的东西......

先来考虑经典的 LCS:\(dp[n][m]\) 表示 \(S[n]\)\(T[m]\) 匹配上的最长的长度。

那么我们不妨这样子考虑:假设有两个子序列自动机,一个是 \(S\) 的,另一个是 \(T\)的。

那么这玩意儿就能够解释成“最长的能够在两个自动机上都匹配得上的串的长度”。

看到这个题,这道题能够更好地解释这玩意儿。

\(dp[n][m]\) 表示 \(S[n]\)\(T[m]\) 能否匹配得上。

那么我们对 \(S\)\(T\) 可以根据新定义的“匹配”建立自动机,然后这个 DP 的本质就和上述一致了。

那么,根据“匹配”的规则转移即可,复杂度 \(O(m\sum|s_i|)\) 可以通过。

posted @ 2022-10-24 18:13  Prean  阅读(65)  评论(0编辑  收藏  举报
var canShowAdsense=function(){return !!0};