栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3138 Period

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3138 Period

#include <iostream>#include <algorithm>#include <stdio.h>#include <string.h>using namespace std;char x[5050], y[55];int len, n;int f[110][55];int g[5050][110];int opt[5050];void init(){scanf("%s%s", y, x);len = strlen(y); n = strlen(x);}int abs(int x){if (x<0) return -x;return x;}void solve(){memset(g, 0x3f, sizeof g);for (int st=1; st<=n; st++){memset(f, 0x3f, sizeof f);f[0][0] = 0;for(int i=1;i<=2*len;i++) f[i][0]=i;for(int j=1;j<=len;j++) f[0][j]=j;for (int i=st; i<st+2*len && i<=n; i++){for (int j=1; j<=len; j++){if (x[i-1] == y[j-1]) {  f[i-st+1][j] = min(f[i-st+1][j], f[i-st][j-1]);}else {  f[i-st+1][j] = min(f[i-st+1][j], f[i-st][j-1]+1);}f[i-st+1][j] = min(f[i-st+1][j], min(f[i-st][j]+1, f[i-st+1][j-1]+1));}}for (int i=1; i<=2*len; i++) { g[st][i] = f[i][len];}}memset(opt, 0x3f, sizeof opt);opt[0] = 0;for (int i=1; i<=n; i++){for (int j=max(0, i-2*len-1); j<i; j++){int sublen = i-j;int er = g[j+1][sublen];opt[i] = min(opt[i], max(opt[j], er));}}if(opt[n]>100000) while(1)printf("11111111n");printf("%dn", opt[n]);}int main(){int test; scanf("%d", &test);while (test--){init();solve();}}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376463.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号