zoukankan      html  css  js  c++  java
  • 最长公共上升子序列||LCIS

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstdlib>
     4 #include<cmath>
     5 #include<vector>
     6 #include<algorithm>
     7 #include<cstring>
     8 #include<vector>
     9 #include<map>
    10 #include<stack>
    11 #define maxn 3000+50
    12 #define inf 0x7fffffff
    13 #define  xiao 1e-9
    14 using namespace std;
    15 int dp[maxn][maxn],a[maxn],b[maxn],n;
    16 int main()
    17 {
    18     cin>>n;
    19     for(int i=1;i<=n;++i) scanf("%d",&a[i]);
    20     for(int i=1;i<=n;++i) scanf("%d",&b[i]);
    21     memset(dp,0,sizeof(dp));
    22     int max1=0;
    23     for(int i=1;i<=n;++i)
    24     {
    25         max1=0;
    26         for(int j=1;j<=n;++j)
    27           {
    28               dp[i][j]=dp[i-1][j];
    29               if(a[i]>b[j]&&max1<dp[i-1][j])  max1=dp[i-1][j];
    30               if(a[i]==b[j]) dp[i][j]=max1+1;
    31           }
    32 }
    33   max1=0;
    34   for(int i=1;i<=n;++i) if(max1<dp[n][i]) max1=dp[n][i];
    35   cout<<max1;
    36   return 0;
    37 }
    38 //给出的是两个序列长度相等时的LCIS,长度不相等时也是一样的,加一个n1就好。
    39           
  • 相关阅读:
    【poj1008】Maya Calendar
    【CodeVS4093】EZ的间谍网络
    2016.6.19 模拟考试
    【poj1129】Channel Allocation
    【poj2676】Sudoku
    Java 2D API
    Java 2D API
    IntelliJ IDEA
    IntelliJ IDEA 使用说明(For Eclipse user)
    IntelliJ IDEA
  • 原文地址:https://www.cnblogs.com/TYH-TYH/p/4921501.html
Copyright © 2011-2022 走看看