zoukankan      html  css  js  c++  java
  • LYDSY模拟赛day1 String Master

    /*
    暴力枚举两个后缀,计算最长能匹配多少前缀。
    最优策略一定是贪心改掉前 k 个失配的字符。
    时间复杂度 O(n3)。
    */
    #include<cstdio>
    int n,m,i,j,k,x,y,ans;char a[310],b[310];
    int main(){
      freopen("master.in","r",stdin);freopen("master.out","w",stdout);
      scanf("%d%d%s%s",&n,&m,a+1,b+1);
      for(i=1;i<=n;i++)for(j=1;j<=n;j++)
        for(x=i,y=j,k=0;x<=n&&y<=n;x++,y++){
          if(a[x]!=b[y]){
            k++;
            if(k>m)break;
          }
          if(ans<x-i+1)ans=x-i+1;
        }
      printf("%d",ans);
      fclose(stdin);fclose(stdout);
      return 0;
    }
  • 相关阅读:
    HDU 1198
    HDU 1863
    HDU 1879
    HDU 1233
    HDU 1232
    HDU 1829
    HDU 2473
    hdu 1829 A Bug's Life
    hdu 3038 How Many Answers Are Wrong
    hdu 1198 Farm Irrigation
  • 原文地址:https://www.cnblogs.com/hyfer/p/5928200.html
Copyright © 2011-2022 走看看