题干:

链接:https://ac.nowcoder.com/acm/contest/327/G
来源:牛客网

一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女座好强啊”。处女座经过调查发现群里的复读机都是失真的复读机,会固定的产生两个错误。一个错误可以是下面的形式之一:

1.       将任意一个小写字母替换成另外一个小写字母

2.       在任意位置添加一个小写字母

3.       删除任意一个字母

处女座现在在群里发了一句话,他收到了一个回应,他想知道这是不是一个复读机。

输入描述:

两行
第一行是处女座说的话s
第二行是收到的回应t
s和t只由小写字母构成且长度小于100

输出描述:

如果这可能是一个复读机输出”YES”,否则输出”NO”

示例1

输入

复制

abc
abcde

输出

复制

YES

说明

abc->abcd->abcde

示例2

输入

复制

abcde
abcde

输出

复制

YES

说明

abcde->abcdd->abcde

备注:

只要能经过两步变换就从s得到t就有可能是复读机。

解题报告:

转化一下就是可编辑距离的裸题。

题目的意思是有两个错误的才输出YES,但是首先我们知道如果求出的ans=2那一定是可以的,但是对于ans=1:如果是替换,那我们可以先增加一步操作换成别的;如果是增加,那我们可以先增加一个别的然后再换成正解;如果是删除,那我们可以先把要删除的字符换成别的然后再删除。总之ans=1的我们可以增加到ans=2,也就是输出YES。ans=0的更不多说,也是输出YES。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
const int MAX = 2e2 + 5;
char s[MAX],t[MAX];
ll dp[MAX][MAX];
int main() {cin>>s+1;cin>>t+1;int len1 = strlen(s+1);int len2 = strlen(t+1);memset(dp,0x3f3f,sizeof dp);dp[0][0]=0;for(int i = 1; i<=len1; i++) {for(int j = 1; j<=len2; j++) {if(s[i] == t[j]) dp[i][j] = dp[i-1][j-1];else {ll tmp1 = dp[i][j] = dp[i-1][j-1]+1;//操作1ll tmp2 = dp[i-1][j]+1;ll tmp3 = dp[i][j-1]+1;dp[i][j] = min(tmp1,min(tmp2,tmp3));}}}if(dp[len1][len2] <= 2) puts("YES");else puts("NO");return 0 ;
}

【牛客 - 327G】处女座与复读机(可编辑距离问题,dp)相关推荐

  1. 处女座与复读机(dp)

    链接:https://ac.nowcoder.com/acm/contest/327/G 来源:牛客网 题目描述 一天,处女座在牛客算法群里发了一句"我好强啊",引起无数的复读,可 ...

  2. 牛客练习赛34 E little w and Digital Root(数位dp)

    title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM ...

  3. 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)

    链接:https://ac.nowcoder.com/acm/contest/5203/B 来源:牛客网 题目描述 Listening to the music is relax, but for o ...

  4. 【牛客 - 157D】插排树(dfs,树形dp)

    题干: 链接:https://ac.nowcoder.com/acm/contest/157/D 来源:牛客网 一年一度的山东省oi夏令营又开始了,每到这个季节,山东的oier们都会欢聚这里,一起学( ...

  5. 牛客小白月赛8: I. 路灯孤影(区间DP)

    链接:https://www.nowcoder.com/acm/contest/214/I 来源:牛客网 题目描述 clccle孤独地走在回家的路上,因为她已经知道可能要退役了,这时,她注意到路灯出了 ...

  6. 牛客寒假训练营4-爆炸的符卡洋洋洒洒 (dp变形)

    题意: 链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 小红正在研究如何把符卡组合出尽可能大威力的组合魔法. 小红共有 n 种符卡可以选择,每种符卡最多只能选择一次,每个符卡的魔力消耗为 ...

  7. 牛客推荐系统开发之选飞行棋子(状压dp)

    链接:登录-专业IT笔试面试备考平台_牛客网 牛客的新开发的推荐系统使得牛客的DAU(日活跃用户数量)上升了一个档次,于是牛客的老板组织了一场团建.在团建时,牛牛.牛妹.王清楚和茶山牛四人想要愉快地玩 ...

  8. 牛客假日团队赛54 B-接机——二分 贪心

    接机 题目描述 一场别开生面的牛吃草大会就要在Farmer John的农场举办了! 世界各地的奶牛将会到达当地的机场,前来参会并且吃草.具体地说,有N头奶牛到达了机场(1≤N≤1051≤N≤10^51 ...

  9. 牛客多校1 - Infinite Tree(虚树+换根dp+树状数组)

    题目链接:点击查看 题目大意:给出一个无穷个节点的树,对于每个大于 1 的点 i 来说,可以向点 i / minvid[ i ] 连边,这里的 mindiv[ x ] 表示的是 x 的最小质因数,现在 ...

最新文章

  1. 如何终止正在在发送的ajax请求
  2. 站长之家html视频播放,HTML5视频发展状况
  3. mysql avg 求平均值_使用MySQL中的AVG函数求平均值的教程
  4. 矩阵求导术(上、下)
  5. Objective-C学习笔记--NSLog用法及例子
  6. 列出连通集 (25 分)【DFS与BFS模板】
  7. oracle 运营维护_oracle运维(持续更新)
  8. java判断地图范围_百度地图java 判断当前位置是否在多边形区域内
  9. golang中的栈(LeetCode刷题)
  10. 动手学PaddlePaddle(1):线性回归
  11. 【HDOJ】【3853】LOOPS
  12. mysql志新计划,在使用Perl DBI迭代结果集时更新MySQL表是否安全?
  13. android应用程序列表,List列表应用程序-小知识 #103
  14. 2018C/C++蓝桥杯解析
  15. Unity 发射子弹的两种方式
  16. Windows下9001端口被占用
  17. 基于jQuery的一个简单的图片查看器实现
  18. python如何制作地图热力图
  19. JavaScript与C#互通的DES加解密算法
  20. c语言猜拳游戏教案,幼儿园中班游戏《猜拳游戏》的教案

热门文章

  1. c#调用.exe程序
  2. Web-DispatcherServletUrlPatterns
  3. 第六课 从词向量到NLP分类问题
  4. surface pro 6 黑苹果_微软Surface新款超薄触控笔抢鲜评测
  5. 用SQL语句向表格中插入数据
  6. pwm控制舵机转动角度程序_Mixly 第15课 舵机的使用
  7. Codeforces Round #735 (Div. 2)(A-D)没有B
  8. python日志输出 超量 停止_linux 内存分配参数导致的 buffer_pool 分配不出来的问题排查...
  9. 蓝牙驱动卸载后自动安装_Intel 蓝牙驱动安装教程
  10. redis集群关闭 启动报错_使用虚拟机搭建 Redis 集群,实现数据库的负载均衡功能。...