码迷,mamicode.com
首页 > 其他好文 > 详细

最长递增公共子序列

时间:2014-07-20 00:05:39      阅读:386      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   art   for   re   

    #include <stdio.h>  
    #include <algorithm>  
    #include <string.h>  
    using namespace std;  
      
    int n,m,a[505],b[505],dp[505][505];  
      
    int LICS()  
    {  
        int MAX,i,j;  
        memset(dp,0,sizeof(dp));  
        for(i = 1; i<=n; i++)  
        {  
            MAX = 0;  
            for(j = 1; j<=m; j++)  
            {  
                dp[i][j] = dp[i-1][j];  
                if(a[i]>b[j] && MAX<dp[i-1][j])  
                    MAX = dp[i-1][j];  
                if(a[i]==b[j])  
                    dp[i][j] = MAX+1;  
            }  
        }  
        MAX = 0;  
        for(i = 1; i<=m; i++)  
            if(MAX<dp[n][i])  
                MAX = dp[n][i];  
        return MAX;  
    }  




优化成一维


#include <stdio.h>  
#include <string.h>  
#include <algorithm>  
using namespace std;  
  
int a[505],b[505],dp[505],n,m;  
  
int LICS()  
{  
    int i,j,MAX;  
    memset(dp,0,sizeof(dp));  
    for(i = 1; i<=n; i++)  
    {  
        MAX = 0;  
        for(j = 1; j<=m; j++)  
        {  
            if(a[i]>b[j] && MAX<dp[j])  
                MAX = dp[j];  
            if(a[i]==b[j])  
                dp[j] = MAX+1;  
        }  
    }  
    MAX = 0;  
    for(i = 1; i<=m; i++)  
        if(MAX<dp[i])  
            MAX = dp[i];  
    return MAX;  
}  


最长递增公共子序列,布布扣,bubuko.com

最长递增公共子序列

标签:blog   http   io   art   for   re   

原文地址:http://blog.csdn.net/chaoyueziji123/article/details/37964785

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!