UKE是啥
查看原帖
UKE是啥
361342
┭┮﹏┭┮楼主2021/11/28 10:18
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
const long long moD = 100000000,maxN = 5010;
char a[maxN],b[maxN];
int la,lb,f[2][maxN],w[2][maxN];
int main(){
    cin>>a>>b;
    la = strlen(a)-1,lb = strlen(b)-1;
    int x = 1,s = 0;
    for(int i = 0;i <= la;i++)w[0][i] = 1;
    for(int i = 0;i <= lb;i++){
        w[x][0] = 1;
        for(int j = 1;j <= la;j++){
            f[x][j] = max(f[x][j-1],f[s][j]);
            w[x][j] = 0;
            if(b[i-1] == a[j-1])f[x][j] = max(f[x][j],f[s][j-1] + 1);
            if(b[i-1] == a[j-1] && f[x][j] == f[s][j-1] + 1)w[x][j] += w[s][j-1];
            if(f[x][j-1] == f[x][j])w[x][j] += w[x][j-1];
            if(f[s][j] == f[x][j])w[x][j] += w[s][j];
            if(b[i-1] != a[j-1] && f[s][j-1] == f[x][j])w[x][j] -= w[s][j-1];
            w[x][j] = w[x][j] % moD;
        }
        x = 1 - x,s = 1 - s;
    }
    printf("%d\n%d\n",f[s][la],w[s][la]);
    
    return 0;
}

为啥UKE\color{black}\text{UKE}

求大佬解答

2021/11/28 10:18
加载中...