意甲冠军:

按标题给4操作模式  用最少的次数  离a串行转换b弦

思路:

因为操作仅仅有这4种  所以我们能够确定从头到位去匹配a和b一定是正确的

那么状态数一共同拥有多少呢  一共同拥有length[a]*length[b]*(1+num(a~z)+num(A~Z))  状态不多  能够用dp解决

上述计算状态能够表示为dp[i][j][k]  即a串匹配到i同一时候b串匹配到j  k表示改动后缀操作改动成的字符

那么仅仅须要打表出全部的dp  同一时候利用dp+(lena-i)+(lenb-j)更新ans就可以

代码:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<cstdlib>
#include<ctime>
#include<cmath>
using namespace std;
typedef unsigned long long LL;
#define N 505
#define M 53
#define inf 100000000 int ans;
int dp[N][N][M];
char f[N], g[N]; int change(char u) {
if (u >= 'A' && u <= 'Z')
return u - 'A' + 1;
if (u >= 'a' && u <= 'z')
return u - 'a' + 27;
return 0;
} int main() {
int i, j, k, ans, lf, lg;
while (~scanf("%s", f)) {
if (!strcmp(f, "#"))
break;
scanf("%s", g);
lf = strlen(f);
lg = strlen(g);
for (i = 0; i <= lf; i++) {
for (j = 0; j <= lg; j++) {
for (k = 0; k < M; k++)
dp[i][j][k] = inf;
}
}
ans = inf;
dp[0][0][0] = 0;
for (i = 0; i <= lf; i++) {
for (j = 0; j <= lg; j++) {
for (k = 0; k < M; k++) {
if (dp[i][j][k] == inf)
continue;
ans = min(ans, dp[i][j][k] + lf - i + lg - j);
if (i == lf || j == lg)
continue;
if ((!k && f[i] == g[j]) || (k && k == change(g[j]))) {
//same
dp[i + 1][j + 1][k] = min(dp[i + 1][j + 1][k],
dp[i][j][k]);
} else {
//delete
dp[i + 1][j][k] = min(dp[i + 1][j][k], dp[i][j][k] + 1);
//insert
dp[i][j + 1][k] = min(dp[i][j + 1][k], dp[i][j][k] + 1);
//change
dp[i + 1][j + 1][k] = min(dp[i + 1][j + 1][k],
dp[i][j][k] + 1);
//Suffix change
dp[i + 1][j + 1][change(g[j])] = min(
dp[i + 1][j + 1][change(g[j])],
dp[i][j][k] + 1);
}
}
}
}
printf("%d\n", ans);
}
return 0;
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

HDU 3831 DICS的更多相关文章

  1. POJ 3831 &amp; HDU 3264 Open-air shopping malls(几何)

    题目链接: POJ:id=3831" target="_blank">http://poj.org/problem?id=3831 HDU:http://acm.h ...

  2. HDU 3264/POJ 3831 Open-air shopping malls(计算几何+二分)(2009 Asia Ningbo Regional)

    Description The city of M is a famous shopping city and its open-air shopping malls are extremely at ...

  3. HDU 5643 King's Game 打表

    King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...

  4. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  6. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  7. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  8. HDU 4006The kth great number(K大数 +小顶堆)

    The kth great number Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64 ...

  9. HDU 1796How many integers can you find(容斥原理)

    How many integers can you find Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

随机推荐

  1. poj3295 Tautology , 计算表达式的值

    给你一个表达式,其包括一些0,1变量和一些逻辑运算法,让你推断其是否为永真式. 计算表达式的经常使用两种方法:1.递归: 2.利用栈. code(递归实现) #include <cstdio&g ...

  2. SE 2014年4月22日(二)

    如图配置: 网络中存在三个公有AS 其中AS200使用了 BGP联盟技术(如图配置) 在AS 100 中R1上起源了四条BGP路由,(1)要求全网BGP设备均能够正常学习 (2)要求:(使用BGP团体 ...

  3. 调用微信退款接口时,证书验证出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法

    1.证书密码不正确,微信证书密码就是商户号 解决办法:请检查证书密码是不是和商户号一致 2.IIS设置错误,未加载用户配置文件 解决办法:找到网站使用的应用程序池-->右击-->高级设置- ...

  4. poj2763(树链剖分)

    题目链接:http://poj.org/problem?id=2763 题意:定一棵带边权的树,要求支持两种操作:1)询问树中某两点间的距离. 2)修改某条边的权值. 分析:树链剖分,边权修改,路径求 ...

  5. Codeforces Round #254 (Div. 1)-A,B

    A:选取两点一边就能够了,非常明显能够想出来... 可是一開始看错题了,sad.... #include<stdio.h> #include<string.h> #includ ...

  6. Java文件压缩分割(待)

    http://blog.csdn.net/ycg01/article/details/1366648

  7. AlarmManager的学习与实现

    综述     这个类提供了一种使用系统提供的alarm服务.这个服务同意用户安排他们的应用程序在将来的某一个时间点执行.当设置的alarm响起,那么之前系统为这个alarm注冊的Intent就会自己主 ...

  8. 站点接入QQ登录

    首先引入授权js文件 <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/op ...

  9. 一般报java.lang.NullPointerException的原因有以下几种

    一般报java.lang.NullPointerException的原因有以下几种: ·字符串变量未初始化: ·接口类型的对象没有用具体的类初始化,比如: List lt; 会报错 List lt = ...

  10. HDU1071 The area 【积分】

    The area Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...