我要好好转移
查看原帖
我要好好转移
324632
Skeleton_Huo楼主2023/5/2 18:30

题解全部都是后向更新的转移,太不直观啦 (

我的建议是:

设 f[i,a,b,c]f[i,a,b,c] 为以 SiS_i 为结尾的子串 S1..iS_{1..i} 的子序列复制串.

此时该状态的组成部分可分为两类, 一类是末尾只有一个 S[i]S[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...f[i,a,b,c] = \left\{ \begin{aligned} f[i,a-1,b,c,]+f[pre_{i,1},a-1,b,c]+..., S[i]=a \\ f[pre_{i,0},a,b-1,c,]+f[i,a,b-1,c]+..., S[i]=b \\ ... \\ \end{aligned} \right.

你看, 用这种方法, 转移方程就能清晰, 简便, 明了地构造出来.

不理解为什么那么多人喜欢那么抽象的刷表法

2023/5/2 18:30
加载中...