CodeForces 157C Message
生活随笔
收集整理的這篇文章主要介紹了
CodeForces 157C Message
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
$dp$。
$dp[i][j]$表示$s[i]$到$s[j]$和$t[lent-1+i-j]$到$t[lent-1]$有$dp[i][j]$位相同,然后枚舉一遍$dp[i][j]$就可以算出答案了。
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<iostream> #include<queue> using namespace std;const int maxn=5100; char s[maxn],t[maxn]; int lens,lent; int dp[maxn][maxn];int main() {memset(s,0,sizeof s);memset(t,0,sizeof t);scanf("%s%s",s,t);lens=strlen(s), lent=strlen(t);for(int i=lens;i<lens+lent;i++) s[i]='.';lens=strlen(s);int ans=5000;for(int Len=1;Len<=lent;Len++){for(int i=0;i<lens;i++){int j=i+Len-1;if(j>=lens) continue;if(j==i){if(s[i]==t[lent-1]) dp[i][j]=1;else dp[i][j]=0;ans=min(ans,j-i+1-dp[i][j]+lent-(j-i+1));}else{dp[i][j]=dp[i+1][j];if(s[i]==t[lent-1+i-j]) dp[i][j]++;ans=min(ans,j-i+1-dp[i][j]+lent-(j-i+1));}}}printf("%d\n",ans);return 0; }?
轉載于:https://www.cnblogs.com/zufezzt/p/6013078.html
總結
以上是生活随笔為你收集整理的CodeForces 157C Message的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机app后台初学
- 下一篇: 20145209 《信息安全系统设计基础