【牛客 - 327G】处女座与复读机(可编辑距离问题,dp)
题干:
链接: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)相关推荐
- 处女座与复读机(dp)
链接:https://ac.nowcoder.com/acm/contest/327/G 来源:牛客网 题目描述 一天,处女座在牛客算法群里发了一句"我好强啊",引起无数的复读,可 ...
- 牛客练习赛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 ...
- 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)
链接:https://ac.nowcoder.com/acm/contest/5203/B 来源:牛客网 题目描述 Listening to the music is relax, but for o ...
- 【牛客 - 157D】插排树(dfs,树形dp)
题干: 链接:https://ac.nowcoder.com/acm/contest/157/D 来源:牛客网 一年一度的山东省oi夏令营又开始了,每到这个季节,山东的oier们都会欢聚这里,一起学( ...
- 牛客小白月赛8: I. 路灯孤影(区间DP)
链接:https://www.nowcoder.com/acm/contest/214/I 来源:牛客网 题目描述 clccle孤独地走在回家的路上,因为她已经知道可能要退役了,这时,她注意到路灯出了 ...
- 牛客寒假训练营4-爆炸的符卡洋洋洒洒 (dp变形)
题意: 链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 小红正在研究如何把符卡组合出尽可能大威力的组合魔法. 小红共有 n 种符卡可以选择,每种符卡最多只能选择一次,每个符卡的魔力消耗为 ...
- 牛客推荐系统开发之选飞行棋子(状压dp)
链接:登录-专业IT笔试面试备考平台_牛客网 牛客的新开发的推荐系统使得牛客的DAU(日活跃用户数量)上升了一个档次,于是牛客的老板组织了一场团建.在团建时,牛牛.牛妹.王清楚和茶山牛四人想要愉快地玩 ...
- 牛客假日团队赛54 B-接机——二分 贪心
接机 题目描述 一场别开生面的牛吃草大会就要在Farmer John的农场举办了! 世界各地的奶牛将会到达当地的机场,前来参会并且吃草.具体地说,有N头奶牛到达了机场(1≤N≤1051≤N≤10^51 ...
- 牛客多校1 - Infinite Tree(虚树+换根dp+树状数组)
题目链接:点击查看 题目大意:给出一个无穷个节点的树,对于每个大于 1 的点 i 来说,可以向点 i / minvid[ i ] 连边,这里的 mindiv[ x ] 表示的是 x 的最小质因数,现在 ...
最新文章
- 如何终止正在在发送的ajax请求
- 站长之家html视频播放,HTML5视频发展状况
- mysql avg 求平均值_使用MySQL中的AVG函数求平均值的教程
- 矩阵求导术(上、下)
- Objective-C学习笔记--NSLog用法及例子
- 列出连通集 (25 分)【DFS与BFS模板】
- oracle 运营维护_oracle运维(持续更新)
- java判断地图范围_百度地图java 判断当前位置是否在多边形区域内
- golang中的栈(LeetCode刷题)
- 动手学PaddlePaddle(1):线性回归
- 【HDOJ】【3853】LOOPS
- mysql志新计划,在使用Perl DBI迭代结果集时更新MySQL表是否安全?
- android应用程序列表,List列表应用程序-小知识 #103
- 2018C/C++蓝桥杯解析
- Unity 发射子弹的两种方式
- Windows下9001端口被占用
- 基于jQuery的一个简单的图片查看器实现
- python如何制作地图热力图
- JavaScript与C#互通的DES加解密算法
- c语言猜拳游戏教案,幼儿园中班游戏《猜拳游戏》的教案
热门文章
- c#调用.exe程序
- Web-DispatcherServletUrlPatterns
- 第六课 从词向量到NLP分类问题
- surface pro 6 黑苹果_微软Surface新款超薄触控笔抢鲜评测
- 用SQL语句向表格中插入数据
- pwm控制舵机转动角度程序_Mixly 第15课 舵机的使用
- Codeforces Round #735 (Div. 2)(A-D)没有B
- python日志输出 超量 停止_linux 内存分配参数导致的 buffer_pool 分配不出来的问题排查...
- 蓝牙驱动卸载后自动安装_Intel 蓝牙驱动安装教程
- redis集群关闭 启动报错_使用虚拟机搭建 Redis 集群,实现数据库的负载均衡功能。...