hdu5414(2015多校10)--CRB and String(字符串匹配)
题目链接:点击打开链接
题目大意:有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(字符串匹配)相关推荐
- 2015多校10 1006.CRB and Puzzle HDU5411(邻接矩阵求k长路条数,矩阵快速幂
题意:有若干字符,现在要把它们连成一个字符串,每种字符后面只能接特定种类的字符,现在询问能连接出的长度小于等于m的字符串有多少种. 思路:我们可以把这个转移关系看成一个图,如果字符a后面可以接b,那么 ...
- F - CRB and String HDU - 5414
F - CRB and String HDU - 5414 题解 直接暴力,最坏情况 1e10 超时 优化: 发现其特性,前相同项长度不同则 No 剩下的暴力比对 #include<bits/s ...
- 我们眼中的2015年互联网10大产品事件
我们眼中的2015年互联网10大产品事件 到了年底,盘点很多.这一篇的不一样,在于它是一篇"产品"主题的盘点.相比起更宏观的行业和商业的解读,以"产品"为中心去 ...
- C语言基础10——指针进阶。字符指针、指针数组、数组指针、函数指针、函数指针数组、回调函数、数组名详解、杨氏矩阵、字符串旋转
目录 字符指针 指针数组 数组指针 数组传参.指针参数 函数指针 函数指针数组 指向函数指针数组的指针 回调函数 练习 数组名的意义 指针笔试题 字符指针 字符指针的另一种使用方式 #include ...
- 小汤学编程之JavaScript学习day03——对象、Array数组、String字符、Date日期、JSON
一.JS中的对象 二.Array数组 1.特点 2.数组的定义 3.常用方法 4.数组的遍历 三.String字符 1.定义 2.常用方法 四.Date日期 1.定义 ...
- LeetCode 10 Regular Expression Matching(字符串匹配)
题目链接 https://leetcode.com/problems/regular-expression-matching/?tab=Description '.' Matches any si ...
- 从 重复叠加字符串匹配 看Java String源码中的contains方法
原题:重复叠加字符串匹配 解题思路已经写在代码中了: class Solution {public:bool contain(string &a, string &b, long lo ...
- 在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。...
//在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是'*',其余 位置存的是'#':输出这个数组中的所有元素.char [][]y=new char [10][10] ...
- 微信小程序string字符串转UTF-16,UTF-16转string字符转
string字符串转UTF-16 function ToUTF16(str) { var result = new Array(); var k = 0; for (var i = 0; i < ...
- json格式校验报错:此处缺少‘STRING‘字符, 实际上是一个 ‘}‘
报错: 此处缺少'STRING'字符, 实际上是一个 '}' Expecting 'STRING', got '}' 格式校验工具: https://json-online.com/check/ 解决 ...
最新文章
- 下怎么运行sh脚本_基于CentOS7系统添加自定义脚本服务及参数说明,附实例
- Postman收费太贵了,我决定用Postwoman...
- android顶部横线动态导航
- 如何设计一门语言(五)——面向对象和消息发送
- Cpp / 右值、纯右值、将亡值
- Can not create a Path from an empty string解决
- 【GOF23设计模式】原型模式
- ANSYS——初学路径之路径的定义、作用以及ansys路径模块GUI的操作解释
- 端午将至……想和程序猿Coding个粽子行不行?
- strlen的神奇实现
- hystrix基于request cache请求缓存技术优化批量数据查询接口
- 安装VCSA6.5(vCenter Server Appliance 6.5)
- 中国 IT 行业平均工资再次碾压金融业,意味着什么?
- 计算机课安全管理制度,微机室安全管理制度.doc
- 看不见世界的程序员,开发了一款“吃鸡”
- 视频剪切合并器如何分割音频文件
- 流程图文字及数据表内外连接
- word 2013 新建批注 显示/隐藏批注 删除批注
- 大数据研究,不能“忽悠”
- 【Ext.Net学习笔记】03:Ext.Net DirectEvents用法详解、DirectMethods用法详解