最长上升子序列(LIS)、最长公共子序列(LCS)、最长上升公共子序列(LICS) 等一系列问题的解法 【待完善】
1. 最长上升子序列(LIS)
题意:给定一个序列,求出最长的上升(递增)子序列,注意:不一定要连续
解法:
动态规划:
创建一个dp数组,dp[i]表示以i结尾的最长上升子序列的长度,开两层循环求dp数组即可,具体思路看代码理解。
代码:
int LIS(int a[],n)
{
int dp[MAX];
for(int i = 0; i < n; ...
原创
2019-11-05 21:05:00 ·
406 阅读 ·
0 评论