线性dp的分析方法

对线性dp常见的分析方法是采用集合的方法,即把整个问题化为一个个集合的的递归关系,不必细分为一个个仔细地问题,简化算法复杂度。

对待这样的dp分析首先是,状态表示,包括集合表示和属性。集合表示通常是把问题化了若干个小类,用某个数据结构通常为数组表示。属性通常是指,集合表示的性质,有count,max,min.

然后是状态计算,对应的是集合的划分,这是最关键的一步,把集合划分为若干个子集,即找到递推关系。有两种常见的递归关系求解方法:

1.一种是利用已经求得的集合求当前的集合,这是最常用的。

2.是利用当前已经求得集合递推未知的,这是以前很少用到的。

通常递推关系的递推关系的突破点是集合的最后一个元素或者倒数第二个元素,以他们为突破点求得递推关系。

原文地址:https://www.cnblogs.com/flyljz/p/11625643.html