zoukankan      html  css  js  c++  java
  • 洛谷2758:编辑距离——题解

    字符串编辑距离板子题,留一个底,方便日后。

    https://www.luogu.com.cn/problem/P2758

    设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:

    1、删除一个字符;

    2、插入一个字符;

    3、将一个字符改为另一个字符;

    !皆为小写字母!

    题解网上搜一大堆……其实光看代码也都能看懂这道题。

    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int N=2005;
    char s1[N],s2[N];
    int f[N][N],l1,l2;
    int main(){
        scanf("%s%s",s1+1,s2+1);
        l1=strlen(s1+1),l2=strlen(s2+1);
        for(int i=0;i<=l1;i++)f[i][0]=i;
        for(int i=0;i<=l2;i++)f[0][i]=i;
        for(int i=1;i<=l1;i++){
            for(int j=1;j<=l2;j++){
                if(s1[i]==s2[j])f[i][j]=f[i-1][j-1];
                else f[i][j]=min(f[i-1][j-1],min(f[i-1][j],f[i][j-1]))+1;
            }
        }
        printf("%d
    ",f[l1][l2]);
        return 0;
    }

    +++++++++++++++++++++++++++++++++++++++++++

     +本文作者:luyouqi233。               +

     +欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+

    +++++++++++++++++++++++++++++++++++++++++++

  • 相关阅读:
    第一次被队友说给力
    An Unfair Game-[ACdream1035]
    男人八题解题报告
    it's hard to say
    剪花布条[HDU2087]
    1117: 无序字母对 character
    20181101
    20181104
    20181102
    20181031
  • 原文地址:https://www.cnblogs.com/luyouqi233/p/12368066.html
Copyright © 2011-2022 走看看