CF1506C Double-ended Strings 题解

技术CF1506C Double-ended Strings 题解 CF1506C Double-ended Strings 题解CF1506C Double-ended Strings 题解Conte

CF1506C双端字符串问题的解释

CF1506C双端字符串问题的解释

Content

有两个字符串\(a,b\)。我们可以在每次操作中删除两个字符串之一(可以将某个字符串通过若干次操作变为空串)的第一个或最后一个字符。需要多少次操作才能使\(a,b\)两个字符串相同?

数据范围:\(t\) 组数据,\(1\leqslant t\leqslant 100\),\(1\leqslant |a|,|b|\leqslant 20\)。

Solution

我们发现只要你能找到\(a,b\)两个字符串之间的公共部分,你只需要删除除了这个公共部分之外的其他部分,所以这个问题本质上是要求我们找到\(a,b\)的最长公共子串的长度。而且因为\(a,b\)的长度很小,所以我们考虑直接枚举。

首先,枚举两个字符串中的子字符串的起始位置,然后枚举长度。然后,使用STL中的substr函数提取两个字符串的子字符串。如果两个子串相等,比较前面的答案,选择较大的长度。让我们最终得到的最长公共子串是\(s\),那么答案就是\(|a| |b|-2\cdot|s|\)。

Code

字符串a,b;

int main(){ 0

MT {

CIN a;int len 1=a . size();CIN b;int len 2=b . size();

int ans=0;

F(int,I,0,len1 - 1) F(int,j,0,len2 - 1) F(int,k,0,len1 - i) F(int,l,0,len 2-j){ 0

if(k!=l)继续;//连长度都不一样。这两个子串肯定是不一样的。跳过。

字符串s1=a.substr(i,k),s2=b.substr(j,l);

if(s1==s2) ans=max(ans,(int)S1 . size());

}

println(len 1 len 2-ans * 2);

}

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147915.html

(0)

相关推荐

  • eclipse swing的使用教程详细(swingwork的工作模式)

    技术怎么分析SwingWorker与Swing程序这篇文章给大家介绍怎么分析SwingWorker与Swing程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。某些人一拍脑袋的事,让我有机会跟Swi

    攻略 2021年12月24日
  • flex和flash(flex与flash)

    技术Flex与Flash的关系是什么这篇文章主要介绍Flex与Flash的关系是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Flex简介Flex通常是指AdobeFlex,是最初由Macro

    攻略 2021年12月14日
  • 香港服务器建站哪些参数会影响SEO的效果

    技术香港服务器建站哪些参数会影响SEO的效果很多用户在网站SEO的时候经常关注内容和代码的优化更新,但是却忽略服务器的性能也会对网站的SEO效果有影响,特别是对于在香港服务器上建站的用户而言,由于香港地区的网络特殊性不同

    礼包 2021年12月16日
  • 九个点用四条线连起来,怎么用四条线把九个点连在一起

    技术九个点用四条线连起来,怎么用四条线把九个点连在一起3个答案九个点用四条线连起来:1、 可以一笔画出三条直线来把这九个点连起来。第一条直线从上排左端那个点的上缘开始,向右下方延伸,穿过上排中间的点的中心和上排右端的点的

    生活 2021年10月27日
  • SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的

    技术SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的今天就跟大家聊聊有关SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的,可能很多人都不太了解,为了让大家更加了

    攻略 2021年11月30日
  • jquery中=是什么意思

    技术jquery中=是什么意思这篇文章主要介绍“jquery中=是什么意思”,在日常操作中,相信很多人在jquery中=是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery

    攻略 2021年11月17日