hdu 4323 编辑距离(经典) 动态规划
来源:互联网 发布:网络销售最好的是什么 编辑:程序博客网 时间:2024/06/05 23:50
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4323
题目大意:给出n个字符串s1[1-n];,再给出m个 字符串和编辑距离临界值s2[1-m],kk[1-m],依次求这m个字符串与n个字符串的编辑距离小于编辑距离临界值的个数。即:s2[i]与s1[1-n]的编辑距离小于kk[i]的个数 (1<=i<=m).
注意:kk[i]的值较小,对于判断很有用,因为若字符串长度差大于kk,编辑距离必定大于kk[i];
#include<iostream>#include<cstdio>#include<stdlib.h>#include<string>#include<cstring>#include<cmath>#include<queue>using namespace std;int dp[20][20];char s1[1501][20];char s2[20];int len[1501];int min(int a,int b,int c){ int q=a; if(b<q) q=b; if(c<q) q=c; return q;}int main(){ int T,n,m,kk; int i,j,k; int sum,ans,len1,cas=0; scanf("%d",&T); while(T--) { memset(len,0,sizeof(len)); cas++; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) { scanf("%s",s1[i]+1); len[i]=strlen(s1[i]+1); } printf("Case #%d:\n",cas); for(int k1=1;k1<=m;k1++) { sum=0; scanf("%s%d",s2+1,&kk); len1=strlen(s2+1); for(int k2=1;k2<=n;k2++) { if(abs(len1-len[k2])>kk) //重要的判断 continue; memset(dp,0,sizeof(dp)); for(i=0;i<=len1;i++) dp[i][0]=i; for(j=0;j<=len[k2];j++) dp[0][j]=j; for(i=1;i<=len1;i++) { for(j=1;j<=len[k2];j++) { int cost; if(s2[i]==s1[k2][j]) cost=0; else cost=1; dp[i][j]=min(dp[i-1][j]+1,dp[i][j-1]+1,dp[i-1][j-1]+cost); // dp[i][j]=min(dp[i-1][j]+1,dp[i][j-1]+1); //dp[i][j]=min(dp[i][j],dp[i-1][j-1]+cost); } } if(dp[len1][len[k2]]<=kk) sum++; } printf("%d\n",sum); } } return 0;}
- hdu 4323 编辑距离(经典) 动态规划
- 编辑距离(动态规划经典)
- 编辑距离(动态规划)
- 动态规划 编辑距离
- 编辑距离 动态规划
- 编辑距离--动态规划
- 动态规划 - 编辑距离
- 动态规划---编辑距离
- [LeetCode P72] 编辑距离Levenshtein Distance算法[经典动态规划]
- 编辑距离(动态规划法)
- EOJ 2857 编辑距离(动态规划)
- 算法:编辑距离问题(动态规划)
- 编辑距离和最长公共子序列(动态规划经典题)
- 【动态规划】字符串编辑距离(Levenshtein距离)算法
- 动态规划求编辑距离
- 动态规划求编辑距离
- 动态规划-编辑距离问题
- 动态规划之编辑距离
- 利用HTML5将现有网页转成mobile版
- 对中级 Linux 用户非常有用的 20 个命令
- 通过tftp32在3110E上调试程序
- android 知识点大全 面试
- Python邮件客户端编写之wxPython树形控件
- hdu 4323 编辑距离(经典) 动态规划
- 华为上机第二题
- 收集的一些蓝牙4.0 BLE开发资料
- ubuntu qt 中文输入法
- eclipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3解决方案
- 分拆数 && hdu 4651 && hdu 4658
- 2.6 一维数组的高级应用之运用数组创造出更大的存储空间
- WinHttp.WinHttpRequest.5.1 对象的常用方法
- 一点点对WEBRESOURCE.AXD的配置及使用