题目链接:点击打开链接

题目大意:有A。B两个字符串。如今有一种操作能够在A的随意一个字符x后面添加一个字符y(x。=y)。问能不能将A变为B。

首先假设A能够变成B,那么A就一定是B的一个子序列,这个能够在O(n+m)的时间内算出。

假设A是B的子序列之后,推断添加的字符中是不是含有不能添加的情况,我们仅仅须要推断B从開始的一段连续的同样的字符串。是不是在A的开头也存在。假设存在,那么就是能够由A转化成B的。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std ;
char s1[100010] , s2[100010] ;
int main() {int t , i , j , l1 , l2 ;char ch ;//freopen("1009.in","r",stdin) ;//freopen("9.out","w",stdout) ;scanf("%d", &t) ;while( t-- ) {scanf("%s %s", s1, s2) ;l1 = strlen(s1) ;l2 = strlen(s2) ;i = j = 0 ;while( i < l1 && j < l2 ) {if( s1[i] == s2[j] ) {i++ ; j++ ;}elsej++ ;}if( i < l1 ) {printf("No\n") ;continue ;}for(j = 1 ; j < l2 ; j++)if( s2[j] != s2[j-1] ) break ;for(i = 0 ; i < j ; i++)if( s1[i] != s2[0] ) break ;if( i < j )printf("No\n") ;elseprintf("Yes\n") ;}return 0 ;
}

转载于:https://www.cnblogs.com/gavanwanggw/p/7001213.html

hdu5414(2015多校10)--CRB and String(字符串匹配)相关推荐

  1. 2015多校10 1006.CRB and Puzzle HDU5411(邻接矩阵求k长路条数,矩阵快速幂

    题意:有若干字符,现在要把它们连成一个字符串,每种字符后面只能接特定种类的字符,现在询问能连接出的长度小于等于m的字符串有多少种. 思路:我们可以把这个转移关系看成一个图,如果字符a后面可以接b,那么 ...

  2. F - CRB and String HDU - 5414

    F - CRB and String HDU - 5414 题解 直接暴力,最坏情况 1e10 超时 优化: 发现其特性,前相同项长度不同则 No 剩下的暴力比对 #include<bits/s ...

  3. 我们眼中的2015年互联网10大产品事件

    我们眼中的2015年互联网10大产品事件 到了年底,盘点很多.这一篇的不一样,在于它是一篇"产品"主题的盘点.相比起更宏观的行业和商业的解读,以"产品"为中心去 ...

  4. C语言基础10——指针进阶。字符指针、指针数组、数组指针、函数指针、函数指针数组、回调函数、数组名详解、杨氏矩阵、字符串旋转

    目录 字符指针 指针数组 数组指针 数组传参.指针参数 函数指针 函数指针数组 指向函数指针数组的指针 回调函数 练习 数组名的意义 指针笔试题 字符指针 字符指针的另一种使用方式 #include ...

  5. 小汤学编程之JavaScript学习day03——对象、Array数组、String字符、Date日期、JSON

    一.JS中的对象 二.Array数组 1.特点     2.数组的定义     3.常用方法     4.数组的遍历 三.String字符 1.定义     2.常用方法 四.Date日期 1.定义  ...

  6. LeetCode 10 Regular Expression Matching(字符串匹配)

    题目链接 https://leetcode.com/problems/regular-expression-matching/?tab=Description   '.' Matches any si ...

  7. 从 重复叠加字符串匹配 看Java String源码中的contains方法

    原题:重复叠加字符串匹配 解题思路已经写在代码中了: class Solution {public:bool contain(string &a, string &b, long lo ...

  8. 在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。...

    //在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是'*',其余 位置存的是'#':输出这个数组中的所有元素.char [][]y=new char [10][10] ...

  9. 微信小程序string字符串转UTF-16,UTF-16转string字符转

    string字符串转UTF-16 function ToUTF16(str) { var result = new Array(); var k = 0; for (var i = 0; i < ...

  10. json格式校验报错:此处缺少‘STRING‘字符, 实际上是一个 ‘}‘

    报错: 此处缺少'STRING'字符, 实际上是一个 '}' Expecting 'STRING', got '}' 格式校验工具: https://json-online.com/check/ 解决 ...

最新文章

  1. 下怎么运行sh脚本_基于CentOS7系统添加自定义脚本服务及参数说明,附实例
  2. Postman收费太贵了,我决定用Postwoman...
  3. android顶部横线动态导航
  4. 如何设计一门语言(五)——面向对象和消息发送
  5. Cpp / 右值、纯右值、将亡值
  6. Can not create a Path from an empty string解决
  7. 【GOF23设计模式】原型模式
  8. ANSYS——初学路径之路径的定义、作用以及ansys路径模块GUI的操作解释
  9. 端午将至……想和程序猿Coding个粽子行不行?
  10. strlen的神奇实现
  11. hystrix基于request cache请求缓存技术优化批量数据查询接口
  12. 安装VCSA6.5(vCenter Server Appliance 6.5)
  13. 中国 IT 行业平均工资再次碾压金融业,意味着什么?
  14. 计算机课安全管理制度,微机室安全管理制度.doc
  15. 看不见世界的程序员,开发了一款“吃鸡”
  16. 视频剪切合并器如何分割音频文件
  17. 流程图文字及数据表内外连接
  18. word 2013 新建批注 显示/隐藏批注 删除批注
  19. 大数据研究,不能“忽悠”
  20. 【Ext.Net学习笔记】03:Ext.Net DirectEvents用法详解、DirectMethods用法详解

热门文章

  1. ReportView动态加载带参数的RDCL文件
  2. C#高级编程笔记(二)
  3. Servlet开发(1)-----基础及MVC设计模式
  4. C++使用major做变量名的问题
  5. 如何写好产品需求文档?
  6. 纯css3代码写九宫格效果
  7. 【CAD】自定义实体的步骤(转)
  8. pivot 与 unpivot函数
  9. 用户调用机房收费下机中用到的策略与职责链解析
  10. javascript 3d engine ---m3d 公开