题解全部都是后向更新的转移,太不直观啦 (
我的建议是:
设 f[i,a,b,c] 为以 Si 为结尾的子串 S1..i 的子序列复制串.
此时该状态的组成部分可分为两类, 一类是末尾只有一个 S[i] , 另一类是结尾有多个 S[i] .
那么此时方程就能非常简便地推出来了.
f[i,a,b,c]=⎩⎨⎧f[i,a−1,b,c,]+f[prei,1,a−1,b,c]+...,S[i]=af[prei,0,a,b−1,c,]+f[i,a,b−1,c]+...,S[i]=b...
你看, 用这种方法, 转移方程就能清晰, 简便, 明了地构造出来.
不理解为什么那么多人喜欢那么抽象的刷表法