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

恶臭LCS

时间:2019-10-13 15:34:28      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:div   崩溃   lcs   clu   sharp   cst   space   min   sha   

今天(2019/10/13)考的题目,用学长写的能让人崩溃的LCS改编的

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; 
const int mod=100000000;
const int maxn=5005;
char a[maxn], b[maxn];
int f[2][maxn],g[2][maxn];
int main() {
	scanf("%s",a+1);
	scanf("%s",b+1);
	int n=strlen(a+1)-1, m=strlen(b+1)-1;
	g[1][0]=1;
	for(int j=0;j<=m;j++)
		_____1_____;
	for(int i=1;i<=n;i++)
	{
		int now=i&1,pre=now^1;
		for(int j=1; j<=m; j++)
		{
			f[now][j]=_____2_____;
			if(a[i]==b[j])
			{
				f[now][j]=_____3_____;
				if(f[now][j]==f[pre][j-1]+1)
					g[now][j]=g[pre][j-1];
			}
			else
			{
				g[now][j]=0;
				if(f[now][j]==f[pre][j-1])
					g[now][j]-=g[pre][j-1]; 
			}
			if(f[now][j]==f[pre][j])
				g[now][j]=_____4_____;
			if(f[now][j]==f[now][j-1])
				g[now][j]=_____5_____;
		}
	}
	printf("%d\n%d",f[n&1][m],g[n&1][m]);
	return 0;
}


1.1上述程序___1___中应该填写()

A.g[0][j]=0  B.g[j][0]=0  C.g[0][j]=1  D.g[j][0]=1

1.2 上述程序___2___中应该填写()

A.min(f[pre][j-1],f[now][j-1])  B.max(f[pre][j],f[now][j])  C.max(f[pre][j],f[now][j-1])  D.max(f[now][j],f[pre][j-1])

1.3 上述程序___3___中应该填写()

A.min(f[pre][j-1],f[now][j-1]+1)  B.max(f[pre][j],f[now][j]+1)  C.max(f[pre][j],f[now][j-1]+1)  D.max(f[now][j],f[pre][j-1]+1)

1.4 上述程序___4___中应该填写()

A.(g[now][j]+g[pre][j-1])%mod B.(g[now][j-1]+g[pre][j])%mod C.(g[now][j]+g[pre][j])%mod D.(g[now][j-1]+g[pre][j-1])%mod

1.5 上述程序___5___中应该填写()

A.(g[now][j]+g[pre][j-1])%mod B.(g[now][j-1]+g[pre][j])%mod C.(g[now][j]+g[pre][j])%mod D.(g[now][j-1]+g[pre][j-1])%mod

 

1.1 B

1.2 A

1.3 B

1.4 B

1.5 B

恶臭LCS

标签:div   崩溃   lcs   clu   sharp   cst   space   min   sha   

原文地址:https://www.cnblogs.com/hazel-wu/p/11665827.html

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