LIS,LCS,LCIS

简介: LIS,LCS,LCIS

LIS(最长上升子序列)

#include<iostream>
using namespace std;
int a[1100],dp[1100],ans,n;
int main() {
  cin>>n;
  for(int i=1; i<=n; i++) {
    cin>>a[i];
    dp[i]=1;//初始状态
  }
  ans=1;
  for(int i=1; i<=n; i++) {
    for(int j=1; j<=i; j++) {
      if(a[j]<a[i]) {
        dp[i]=max(dp[i],dp[j]+1);//状态转移
        ans=max(ans,dp[i]);
      }
    }
  }
  cout<<ans<<endl;
  return 0;
}

LIS(最长上升子序列)

#include<iostream>
using namespace std;
int a[1100],dp[1100],ans,n;
int main() {
  cin>>n;
  for(int i=1; i<=n; i++) {
    cin>>a[i];
    dp[i]=1;//初始状态
  }
  ans=1;
  for(int i=1; i<=n; i++) {
    for(int j=1; j<=i; j++) {
      if(a[j]<a[i]) {
        dp[i]=max(dp[i],dp[j]+1);//状态转移
        ans=max(ans,dp[i]);
      }
    }
  }
  cout<<ans<<endl;
  return 0;
}

LCIS(最长公共上升子序列)

#include<iostream>
#include<string.h>
using namespace std;
const int N=1010;
int n,m;
int a[N],b[N];
int f[N][N];
int main() {
  int t;
  cin>>t;
  while(t--) {
    memset(f,0,sizeof(f));
    cin>>n;for(int i=1;i<=n;i++)cin>>a[i];
    cin>>m;for(int i=1;i<=m;i++)cin>>b[i];
    for(int i=1; i<=n; i++) {
      int maxv=1;
      for(int j=1; j<=m; j++) {
        f[i][j]=f[i-1][j];
        if(a[i]==b[j])
          f[i][j]=max(f[i][j],maxv);
        if(b[j]<a[i])
          maxv=max(maxv,f[i-1][j]+1);
      }
    }
    int res=0;
    for(int i=1;i<=m;i++){
      res=max(res,f[n][i]);
    }
    cout<<res<<endl;
    if(t!=0){
      cout<<endl;
    }
  }
}
目录
相关文章
|
3月前
|
算法
动态规划算法学习四:最大上升子序列问题(LIS:Longest Increasing Subsequence)
这篇文章介绍了动态规划算法中解决最大上升子序列问题(LIS)的方法,包括问题的描述、动态规划的步骤、状态表示、递推方程、计算最优值以及优化方法,如非动态规划的二分法。
86 0
动态规划算法学习四:最大上升子序列问题(LIS:Longest Increasing Subsequence)
UPC——Swap (LCS转为LIS)
UPC——Swap (LCS转为LIS)
115 0
UPC——Swap (LCS转为LIS)
|
算法 PHP Python
最长公共子串- LCS 算法
最长公共子串- LCS 算法
102 0
|
存储 人工智能
【动态规划】LIS最长上升子序列【入门】
【动态规划】LIS最长上升子序列【入门】
102 0
|
网络架构
Codeforces Round #755 D. Guess the Permutation(交互 二分)
Codeforces Round #755 D. Guess the Permutation(交互 二分)
96 0
【欧拉计划第 4 题】最大回文数乘积 Largest palindrome product
【欧拉计划第 4 题】最大回文数乘积 Largest palindrome product
123 0
【欧拉计划第 4 题】最大回文数乘积 Largest palindrome product

热门文章

最新文章