【总结】线性dp的几种重要模型

当前点定义

\(f[i]\) :走到第 \(i\) 个点的方案数 / 最值。

\(f[i][j]\) :走到第 \(i\) 个点,选了 \(j\) 个的答案。

依据题目的限制个数可以继续添加维数,也可能考虑用差值压缩维数之类的。

当前休息定义

\(f[i]\) :不选第 \(i\) 天的答案。

优点:若从 \(f[j]\) 转移过来,那么 \(j + 1 \sim i - 1\) 相当于都要选,常用于处理序列上的区间选择问题。

NOIP2023 天天爱打卡

LCS 模型

\(f[i][j]\):当前走到 \(A\) 串的第 \(i\) 位,匹配到了 \(B\) 串的第 \(j\) 位,方案数,其中 \(A[i]\) 不必匹配 \(B[j]\)

最大的特点就是 \(A[i]\) 不强制匹配,这样的话从 \(f[i - 1][j]\)\(f[i - 1][j - 1]\) 转移 / 继承过来,循环直接比 强制匹配 少了一层。

NOIP2015 提高组 子串

posted @ 2024-10-31 18:57  superl61  阅读(46)  评论(0)    收藏  举报