51NOD 1183编辑距离(动态规划)
2024-09-08 01:12:41
思路:这个题放在基础题,分值还是零分,好歹也给人家动态规划一点面子啊!刚开始写的想法是找到其最大公共字串,然后用两个字符串中最长字符串的长度减掉最大公共字符串的长度,这个思路应该也是对的,几天前写的,好像没用动态规划写然后错了;然后百度了下是用动态规划,然后重新写了下。换了个思路,然后手写了下样例的dp数组,寻找状态之间的关系。
以下AC代码:
#include<string>
#include<iostream>
using namespace std;
const int max = ;
int dp[max][max];
int main()
{
string a, b; cin >> a >> b; for (int i = ; i <= a.length(); i++){
for (int j = ; j <= b.length(); j++){
if (i == ){
dp[][j] = j;
}
else{ if (j == ){
dp[i][] = i;
continue;
} if (a[i - ] == b[j - ]) dp[i][j] = dp[i - ][j - ];
else dp[i][j] = dp[i - ][j - ] + ; if (dp[i][j] > dp[i][j - ] + )dp[i][j] = dp[i][j - ] + ;
if (dp[i][j] > dp[i - ][j] + )dp[i][j] = dp[i - ][j] + ; }
}
}
cout << dp[a.length()][b.length()] << endl;
return ;
}
最新文章
- 解密H264、AAC硬件解码的关键扩展数据处理
- .NET中的yield关键字
- C# System.Threading.Timer 使用方法
- 使用(POI)SAX处理Excel文件,防止内存溢出
- spark-DataFrame之RDD和DataFrame之间的转换
- [JS]鼠标事件穿透的问题
- Oracle用户,权限,角色以及登录管理 scoot 授权
- 【英语】Bingo口语笔记(7) - Break系列
- 新浪微博、腾讯微博、QQ空间、人人网、豆瓣 一键分享API
- Lucene5.x 中文 同义词
- Java Stream API入门篇
- Android OkHttp使用与分析
- HTML基础知识入门
- 1CCTableView的使用,TableView响应和小格子tableView实现
- WinForm加载外部类库项目的集成开发模式
- 第一周pta作业1总结
- springboot-multisource
- GPS坐标转换 百度地图API调用
- str和unicode类
- Oracle使用——PLSQL的中文乱码显示全是问号
热门文章
- POJ1264 SCUD Busters 凸包
- 洛谷 P2038 无线网络发射器选址 —— 二维树状数组
- SpringBoot中使用spring-data-jpa 数据库操作(下)
- 引水入城 2010年NOIP全国联赛提高组(bfs+贪心)
- Akka源码分析-Akka-Streams-Materializer(1)
- CodeIgnitor 配置类的使用
- random模块思维导图
- SpringBoot 2.x (1):手动创建项目与自动创建项目
- django.db.utils.OperationalError: (1050, ";Table &#39;表名&#39; already exists)解决方法
- Android开发笔记(1)——View