日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2023/12/10 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【牛客 - 327G】处女座与复读机(可编辑距离问题,dp) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題干:

鏈接:https://ac.nowcoder.com/acm/contest/327/G
來源:??途W(wǎng)
?

一天,處女座在??退惴ㄈ豪锇l(fā)了一句“我好強(qiáng)啊”,引起無數(shù)的復(fù)讀,可是處女座發(fā)現(xiàn)復(fù)讀之后變成了“處女座好強(qiáng)啊”。處女座經(jīng)過調(diào)查發(fā)現(xiàn)群里的復(fù)讀機(jī)都是失真的復(fù)讀機(jī),會(huì)固定的產(chǎn)生兩個(gè)錯(cuò)誤。一個(gè)錯(cuò)誤可以是下面的形式之一:

1.?????? 將任意一個(gè)小寫字母替換成另外一個(gè)小寫字母

2.?????? 在任意位置添加一個(gè)小寫字母

3.?????? 刪除任意一個(gè)字母

處女座現(xiàn)在在群里發(fā)了一句話,他收到了一個(gè)回應(yīng),他想知道這是不是一個(gè)復(fù)讀機(jī)。

輸入描述:

兩行 第一行是處女座說的話s 第二行是收到的回應(yīng)t s和t只由小寫字母構(gòu)成且長(zhǎng)度小于100

輸出描述:

如果這可能是一個(gè)復(fù)讀機(jī)輸出”YES”,否則輸出”NO”

示例1

輸入

復(fù)制

abc abcde

輸出

復(fù)制

YES

說明

abc->abcd->abcde

示例2

輸入

復(fù)制

abcde abcde

輸出

復(fù)制

YES

說明

abcde->abcdd->abcde

備注:

只要能經(jīng)過兩步變換就從s得到t就有可能是復(fù)讀機(jī)。

解題報(bào)告:

? ? 轉(zhuǎn)化一下就是可編輯距離的裸題。

? ? 題目的意思是有兩個(gè)錯(cuò)誤的才輸出YES,但是首先我們知道如果求出的ans=2那一定是可以的,但是對(duì)于ans=1:如果是替換,那我們可以先增加一步操作換成別的;如果是增加,那我們可以先增加一個(gè)別的然后再換成正解;如果是刪除,那我們可以先把要?jiǎng)h除的字符換成別的然后再刪除??傊產(chǎn)ns=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 ; }

?

總結(jié)

以上是生活随笔為你收集整理的【牛客 - 327G】处女座与复读机(可编辑距离问题,dp)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。