首页 > 其他分享 >字符串dp+匹配

字符串dp+匹配

时间:2025-01-15 17:10:07浏览次数:1  
标签:const int long using 字符串 匹配 dp size

https://codeforces.com/problemset/problem/2050/E

#include<bits/stdc++.h>
using namespace std;

#define endl '\n'
using ll = long long;
using pii = pair<char, int>;
const double PI = acos(-1);
const int N =1e3+10;
const int mod = 1e9 + 7;
int dp[N][N];
void solve(){
	string a,b,c;
	cin>>a>>b>>c;
	int lena=a.size();
	int lenb=b.size();
	for(int i=1;i<=lena;i++){
		dp[i][0]=dp[i-1][0]+(a[i-1]!=c[i-1]);
//		cout<<dp[i][0]<<" ";
	}
	for(int i=1;i<=lenb;i++){
		dp[0][i]=dp[0][i-1]+(b[i-1]!=c[i-1]);
//		cout<<dp[0][i]<<" ";
	}
	for(int i=1;i<=lena;i++)
		for(int j=1;j<=lenb;j++){
			dp[i][j]=min(dp[i][j-1],dp[i-1][j])+1;
			if(a[i-1]==c[i-1+j]){ //现在有i个a的字符,j个b的字符
				dp[i][j]=min(dp[i-1][j],dp[i][j]);
			}
			if(b[j-1]==c[j-1+i]){
				dp[i][j]=min(dp[i][j],dp[i][j-1]);
			}
		}
	cout<<dp[lena][lenb]<<endl;
}
int main() {
	
	ios::sync_with_stdio(false);
	cin.tie(nullptr), cout.tie(nullptr);
	
	int T = 1;
	cin>>T;
	while (T--) {
		solve();
	}
	
	return 0;
}

标签:const,int,long,using,字符串,匹配,dp,size
From: https://www.cnblogs.com/laileou/p/18673457

相关文章

  • 判断字符串是否为json字符串方法
    要验证一个字符串是否为有效的JSON格式,可以使用JavaScript的JSON.parse()方法,并结合try...catch语句来捕获解析过程中可能出现的异常。以下是一个示例函数:functionisJSON(str){if(typeofstr==='string'){try{constobj=JSON.par......
  • 宽窄字节3:宽窄字节字符串的转换
    文章目录前言一、为什么要进行转换?二、使用微软提供的API函数实现宽窄字节转换三、使用ATL提供的CA2W、CW2A、CT2W、CT2A来更方便地转换总结前言宽窄字节3:宽窄字节字符串的转换。一、为什么要进行转换?并不是程序中所有的字符串都用Unicode宽字节来表示,如网络发送......
  • 【C语言】_字符串函数strcpy
    目录1. 函数声明及功能2.使用示例3.注意事项4. 模拟实现4.1第一版:基本功能+判空+const修饰4.2第二版:优化对于'\0'的单独拷贝4.3第三版:仿strcpy的char*返回值1. 函数声明及功能char*strcpy(char*destination,constchar*source); strcpy功能:字......
  • Sigrity System SI SerialLink模式进行USB3.1协议仿真分析操作指导-SuperSpeedPlus_Rx
    SigritySystemSISerialLink模式进行USB3.1协议仿真分析操作指导-SuperSpeedPlus_Rx_HostSigritySystemSISerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协......
  • 字符串匹配(BP&KMP算法)
    BP&KMP算法字符串匹配前言BP算法(基础)引文KMP算法(进阶)伪代码描述next数组递归求解思路算法思路详解KMP算法实现及测试(先做在看!)字符串匹配前言本文是基于懒猫老师的课程----BP&KMP所写,在观看本文之前最好配合视频或者PPT食用更佳,地址我附在下面:https://www.bilibi......
  • 如何解决云服务器上UDP端口无法开放的问题?
    关于云服务器上UDP端口无法开放的问题,通常涉及多个方面的原因,包括安全组设置、防火墙规则、操作系统配置等。以下是详细的排查和解决方案:检查安全组设置:云服务器的安全组是控制网络流量进出的重要机制。如果安全组规则没有正确配置,UDP端口将无法开放。请按照以下步骤检查并调......
  • 【轻松掌握数据结构与算法】字符串算法(String Algorithms)
    字符串算法概述字符串匹配算法是计算机科学中的一个重要领域,主要用于在文本中查找特定模式(子字符串)的出现位置。这些算法在文本编辑器、搜索引擎、生物信息学等领域有广泛的应用。暴力法(BruteForceMethod)暴力法是最直接的字符串匹配算法,它通过逐个字符比较来查找模式在文......
  • 344. 反转字符串
    题目这道题很简单了,自己写的:classSolution{public:voidreverseString(vector<char>&s){intn=s.size();for(inti=0;i<n/2;++i){chartmp;tmp=s[i];s[i]=s[n-1-i];......
  • TCP与UDP数据包分析
    注意:帧规定最小为64bytes,最大为1518byte;帧头部+尾部占18bytes(6(DesMAC)+6(SrcMAC)+2(type)+4(CRC32校验))IP包中包头占20bytesTCP包中包头占20bytes(TCP的大小没有规定,主要靠在IP层中分片)UDP包中包头占8bytes(在lntent中规定UDP包大小为556byte,在局域网内可以达到64k)1、概述首先......
  • 205. 同构字符串
    题目这道题一直想着用一个哈希表能不能做出来,最终没有做出来。看了卡哥思路,卡哥是用了两个哈希表,使用两个map保存s[i]到t[j]和t[j]到s[i]的映射关系,如果发现对应不上,立刻返回false。看了卡哥代码敲的:classSolution{public:boolisIsomorphic(strings,stri......