1 条题解
-
0
// 线性DP O(n^2) #include<bits/stdc++.h> using namespace std; const int N=2010; char a[N],b[N]; int n,m,f[N][N]; int main(){ scanf("%s %s",a,b); n=strlen(a), m=strlen(b); for(int i=1;i<=n;i++) f[i][0]=i; for(int i=1;i<=m;i++) f[0][i]=i; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i-1]==b[j-1]) f[i][j]=f[i-1][j-1]; else f[i][j]=min(min(f[i-1][j],f[i][j-1]),f[i-1][j-1])+1; } } printf("%d\n",f[n][m]); }
- 1
信息
- ID
- 2037
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 7
- 标签
- 递交数
- 138
- 已通过
- 27
- 上传者