传送门
题意:略。
思路:找到a、b中所有的包含c序列的起点和终点位置,然后从中找出起点前和终点后的公共子序列的长度和c序列长度的和的最大值。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int t;
char a[1005],b[1005],c[1005];
int la,lb,lc;
int as[1005],ae[1005],bs[1005],be[1005],anum,bnum;
int f[1005][1005],ff[1005][1005];
void lcs(int s1,int e1,int s2,int e2)
{
memset(f,0,sizeof(f));
for(int i=s1;i<e1;i++)
{
for(int j=s2;j&......
阅读全文