计算机学硕考试代码,2022考研计算机程序设计:代码

#include

#include

#include

using namespace std;

int a[5100]={0};

int b[5100]={0};

int f[5100]={0};

int n=0,m=0;

int ans1=1,ans2=1;

int DP[5100][5100];

int main(){

scanf("%d %d",&n,&m);

for(int i=0;i

scanf("%d",&a[i]);

f[i]=1;

}

for(int i=0;i

scanf("%d",&b[i]);

}

//计算序列A的LIS

for(int i=0;i

for(int j=0;j

if(a[j]

f[i]=max(f[i],f[j]+1);

}

}

ans1=max(f[i],ans1);

}

//计算序列AB的LCS

memset(DP, 0, sizeof(DP));

for(int i=1;i

for(int j=1;j

if(a[i-1]==b[j-1]){

DP[i][j]=max(DP[i][j],DP[i-1][j-1]+1);

}

else{

DP[i][j]=max(DP[i][j-1],DP[i-1][j]);

}

}

}

ans2=DP[n][m];

printf("%d %d",ans1,ans2);

return 0;

}

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值