T4 字符串的修改 题解
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
#include<cstring>
using namespace std;
long long dp[1005][1005],ac,bc,bj;
char a[1005],b[1005];
int main()
{
freopen("str.in","r",stdin);
freopen("str.out","w",stdout);
cin>>a+1>>b+1;
ac=strlen(a+1);
bc=strlen(b+1);
for(int i=1;i<=ac;i++)//dp不初始化,考完两行泪啊。
{
dp[i][0]=0;
}
for(int i=1;i<=bc;i++)
{
dp[0][i]=i;
}
for(int i=1;i<=ac;i++)//简单和谐的代码
{
for(int j=1;j<=bc;j++)
{
if(a[i]==b[j])
{
bj=0;
}else
{
bj=1;
}
dp[i][j]=min(dp[i-1][j-1]+bj,min(dp[i][j-1]+1,dp[i-1][j]+1));
}
}
cout<<dp[ac][bc]<<endl;
return 0;
}
思路写了这么多,代码只有40行(如果我不是这个码风可能还短),dp这种东西想起来有点难,写起来还是挺好写的。
附加:奉劝你们不要深究,明白为什么这么写就好,硬要想中间发生了什么会让脑子很乱(可能只有我这样),实在想不明白可以私下问我。看不看的见就随缘吧。
T4 字符串的修改 题解的更多相关文章
- 【2014广州市选day1】JZOJ2020年9月12日提高B组T4 字符串距离
[2014广州市选day1]JZOJ2020年9月12日提高B组T4 字符串距离 题目 Description 给出两个由小写字母组成的字符串 X 和Y ,我们需要算出两个字符串的距离,定义如下: 1 ...
- Python字符串的修改以及传参
前两天去面试web developer,面试官提出一个问题,用JavaScript或者Python实现字符串反转,我选择了Python,然后写出了代码(错误的): #!/usr/bin/env pyt ...
- P141 实战练习——字符串(修改后)
1.在项目中创建Number类,判断字符串“mingrikejijavabu”中字符‘i’出现了几次,并将结果输出. 方法一: // String str="mingrikejijavabu ...
- Q: 字符串的修改
题目描述 怎么样,前面的题还可以吧~ 依旧是字符串处理,设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作共有三种: 1. 删除一个字符: 2. 插入一个字 ...
- C++string中有关字符串内容修改和替换的函数浅析
1.assign() 原型: //string (1) basic_string& assign (const basic_string& str); //substring (2) ...
- zf-关于即将过期提示字符串的修改
Struts2中的 addFieldError(str1,str2); 自带输出 str1= [str2] 这样子是自带输出的 但是如果 要把=[]替换掉怎么办呢 当时想的很复杂,现在知道了,其实很简 ...
- FZU 2280 Magic(字符串Hash)题解
题意:给你n个字符串,每个字符串有一个值w,有q次询问,一共两种操作:一是“1 x y”表示把第x个串的w变为y:二是“2 x”,输出第x个串能放几次魔法.放魔法的条件是这样:用串x放魔法,如果在1~ ...
- 模拟、字符串--P1042 乒乓球 题解
P1042 乒乓球 字符串string的基本使用 #include <iostream> #include <algorithm> #include <map> # ...
- 力扣(LeetCode)验证回文字符串II 个人题解
给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: ...
随机推荐
- 002.OpenShift安装与部署
一 前置条件说明 1.1 安装准备概述 Red Hat OpenShift容器平台是由Red Hat作为RPM包和容器映像两种类型存在.RPM包使用订阅管理器从标准Red Hat存储库(即Yum存储库 ...
- TestLoader源码解析
def loadTestsFromTestCase(self, testCaseClass) #看名称分析:从TestCase找测试集--那么就是把我们的def用例加载到testSuit里面 def ...
- WeChair项目Beta冲刺(9/10)
团队项目进行情况 1.昨日进展 Beta冲刺第九天 昨日进展: 项目开始扫尾 2.今日安排 前端:前端工作已经完成 后端:扫码占座后端测试,实现对超时预约座位下座的功能 数据库:和后端组织协商扫 ...
- Java并发编程-深入探讨synchronized实现原理
synchronized这个关键字对应Java程序猿来说是非常的熟悉,只要遇到要解决线程安全问题的地方都会使用这个关键字.接下来一起来探讨一下synchronized到底时怎么实现线程同步,使用syn ...
- Jmeter(十二) - 从入门到精通 - JMeter逻辑控制器 - 终篇(详解教程)
1.简介 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”. 意思 ...
- android 中使用自定义权限
1.如果在一个进程中启动另外一个进程的activity <?xml version="1.0" encoding="utf-8"?> <man ...
- netty--helloword程序
1.使用netty需要使用到下面的java包 netty-all-5.0.0.Alpha2.jar 我们来看下面具体的代码 1. 创建一个ServerBootstrap实例 2. 创建一个EventL ...
- Build completed with 1 error and 0 warnings in 20 ms
今天运行Idea,好端端的项目居然报了这个莫名其妙的错误Build completed with 1 error and 0 warnings in 20 ms. 首先排查下代码是否有问题,然后我就建 ...
- 关于JavaScript函数
object.defineProperty()函数 再学习这个函数之前,我们先创建一个object对象 var person = {} person.name = "junlebao&quo ...
- IntelliJ IDEA安装配置、搭建Spring MVC
安装前必备软件: 1.jdk1.8.0_144安装包 2.IntelliJ IDEA 2016.1.1(64) 3.Tomcat安装包 4.Mysql.MySQL-JDBC驱动安装包 5.Jetbra ...