线性dp
具有线性阶段划分的动态规划算法被统称为线性dp
经典例题有:
1.最长上升子序列(lis)
2.最长公共子序列(lcs)
3.数字三角形
这里给出最长上升序列的代码


for(int i=1;i<=n;i++){
		f[i]=1;
		for(int j=1;j<i;j++){
			if(d[i]>d[j]&&f[i]<f[j]+1){
				f[i]=f[j]+1;
				pre[i]=j;
				if(ans<f[i]){
					ans=f[i];
					te=i;
				}
			}
		}
	}

 

posted on 2024-02-17 15:24  风ffff  阅读(7)  评论(0编辑  收藏  举报