题目戳我

很明显的这题是一道dp,主要讲一下几个细节

1.初始化

我们需要初始化边界情况也就是一个字符串为空的情况

#----------#      #----------#
A:aaaaaa A:□□□□□□
B:□□□□□□ or B:bbbbbb
#----------# #----------#

这时f[i][0]=i*k,f[0][j]=j*k。

另外注意都为空也就是f[0][0]=0

2.dp

这道题的转移有三种

()字符对字符
A:xxx...a
B:xxx...b
由f[i-][j-]转移得来
()字符对空格
A:xxx...a
B:xxx...□

A:xxx...□
B:xxx...b
由f[i-][j]或f[i][j-]转移得来

具体看代码

#include<bits/stdc++.h>
using namespace std;
string a,b; inline int d(char a,char b){
return a>b?(int)a-b:(int)b-a;
}
//f[i][j]表示A_i与B_j的距离
int f[][],k;
//1.初始化
inline void Ini(){
for(int i=;i<=a.length();i++)f[i][]=i*k;
for(int i=;i<=b.length();i++)f[][i]=i*k;
f[][]=;
} int main()
{
cin>>a>>b>>k;
Ini();
//2.dp部分
for(int i=;i<=a.length();i++){
for(int j=;j<=b.length();j++){
f[i][j]=min(min(f[i-][j],f[i][j-])+k,f[i-][j-]+d(a[i-],b[j-]));
}
} cout<<f[a.length()][b.length()]<<endl;
return ;
}

完结撒花

最新文章

  1. 运用css,对于下拉菜单的制作
  2. Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8)
  3. mysql bin-log 使用说明
  4. 转:SVN服务器搭建和使用(三)
  5. 最大流&amp;最小割 - 专题练习
  6. java实现附件预览(openoffice+swfTools+FlexPaper) (转载)
  7. Deep Learning 学习随记(六)Linear Decoder 线性解码
  8. 搭建自己的Git服务器
  9. 修复 Ubuntu 14.04 的系统设置残缺问题
  10. C#线程同步--线程通信
  11. private,protected,public和default的区别
  12. GCD学习
  13. python网络编程(十三)
  14. 走进JDK(六)------ArrayList
  15. saltstack自动化运维系列⑩SaltStack二次开发初探
  16. P1939【模板】矩阵加速(数列)
  17. Apache Nginx URL 地址 重写
  18. VS Code设置中文插件
  19. Java入门与基础算法班 - 课程大纲
  20. 2018-2019-2 20165209 《网络对抗技术》Exp4:恶意代码分析

热门文章

  1. zabbix4.0.1 安装部署
  2. C语言之推箱子游戏代码
  3. 基于iSensor的MT9M001C12STM传感器调试总结
  4. JPEG文件编/解码详解
  5. vs code:sync setting 插件
  6. 【Java Web开发学习】远程方法调用RMI
  7. CCF-CSP题解 201503-4 网络延时
  8. PHP函数CURL分别以GET、POST方式请求HTTPS协议接口api
  9. mybatis初级映射
  10. Docker中Nginx服务器相关配置