最长上升子序列

78 阅读1分钟

状态表示

f[i]表示以i结尾的上升子序列的长度

image.png

状态计算

我们按照a[i-1]来划分,用a[j]表示a[i-1].

image.png

假设说a[j]>a[i]那么一定不存在f[i].

只有当1f[j]<f[i]才会构成上升子序列.此时f[i]也对上升子序列的长度的贡献加1,因此表示为:

f[j]+1

image.png image.png