1.题目描写叙述:点击打开链接

2.解题思路:本题要求推断字符串s是否能通过加入若干个字符得到字符串t。

首先,能够知道,s必须是t的一个子串(注意:不是连续子串)。

第二。因为插入的新字符和它前面的字符c不同。因此假设t中有cnt个连续的c。那么在s中也必须有cnt个连续的c。因此。仅仅要能够满足这2个条件,就一定能够成功实现转化。

那么该怎样做呢?两者能够结合起来推断,用i,j分别表示s,t串中当前扫描的字符的下标。首先从字符串t開始扫描,看第一个字符c是否连续,一直到不连续为止,那么依据上述推断方法。i也应该在0~j-1中都是字符c。否则输出No。接下来。找到下一个t[j]和s[i]相等的位置,然后i,j同一时候前进。假设不相等。仅仅让j前进。假设发现j已经走到了终点,说明s不是t的子串,输出No。

3.代码:

//#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<iostream>
#include<algorithm>
#include<cassert>
#include<string>
#include<sstream>
#include<set>
#include<bitset>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<cctype>
#include<functional>
using namespace std; #define me(s) memset(s,0,sizeof(s))
#define rep(i,n) for(int i=0;i<(n);i++)
typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair <int, int> P; const int N=100000+5;
char s[N],t[N]; int n,m;
bool test()
{
int i,j;
for(j=1;j<n;j++)
if(t[j]!=t[0])break;//找到第一个字符不连续的地方
for(i=0;i<j;i++) //对于i也应该在前j个字符都连续同样
if(s[i]!=t[i])return 0;
while(i<m)
{
for(;j<n;j++) //找到下一个和s[i]相等的地方
if(t[j]==s[i])break;
if(j==n)return 0; //若j提前走到了终点,说明s不是t的子串。break
i++,j++; //两者齐头并进
}
return 1;
} int main()
{
int T;
for(scanf("%d",&T);T--;)
{
scanf("%s%s",s,t);
m=strlen(s),n=strlen(t);
puts(test()?"Yes":"No");
}
}

HDU 5414 CRB and String (2015年多校比赛第10场)的更多相关文章

  1. HDU 5411 CRB and Puzzle (2015年多校比赛第10场)

    1.题目描写叙述:pid=5411">点击打开链接 2.解题思路:本题实际是是已知一张无向图.问长度小于等于m的路径一共同拥有多少条. 能够通过建立转移矩阵利用矩阵高速幂解决.当中,转 ...

  2. HDU 5399 Too Simple (2015年多校比赛第9场)

    1.题目描写叙述:点击打开链接 2.解题思路:本题分情况讨论.比赛时候真是想的太简单了.以为就是(n!)^(cnt-1). 终于无限WA. 本题有几个特殊情况须要额外推断. 首先,假设输入的时候.有某 ...

  3. HDU 5414 CRB and String (字符串,模拟)

    题意:给两个字符串s和t,如果能插入一些字符使得s=t,则输出yes,否则输出no.插入规则:在s中选定一个字符c,可以在其后面插入一个字符k,只要k!=c即可. 思路:特殊的情况就是s和t的最长相同 ...

  4. HDU 5374 Tetris (2015年多校比赛第7场)

    1.题目描写叙述:点击打开链接 2.解题思路:本题要求模拟俄罗斯方块游戏.然而比赛时候写了好久还是没过. 后来补题发现原来是第四步的逻辑实现写错了... 题目中要求假设一整行能够消除,那么仍然运行该步 ...

  5. HDU 5384 Danganronpa (2015年多校比赛第8场)

    1.题目描写叙述:点击打开链接 2.解题思路:本题利用字典树解决.本题要求查找全部的B[j]在A[i]中出现的总次数.那么我们能够建立一颗字典树,将全部的B[j]插入字典树,因为一个串的全部字串相当于 ...

  6. HDU5374 Tetris (2015年多校比赛第7场)大模拟

    思路: 先写好了几个函数.旋转,四种操作,推断能否够进行合并消除 题中有好几处要考虑的细节问题,如 自然下落究竟部时不进行合并的推断,而是当自然下落非法时才推断 假设消除一行,这一行上面的所以方块仅仅 ...

  7. HDOJ 5414 CRB and String 模拟

    CRB and String Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) T ...

  8. hdu 5416 CRB and Tree(2015 Multi-University Training Contest 10)

    CRB and Tree                                                             Time Limit: 8000/4000 MS (J ...

  9. 构造 HDOJ 5414 CRB and String

    题目传送门 题意:给两个字符串s,t,可以在s字符串任意位置后面插入字符c(与前面的不同),问是否能够将s转换为t字符串 构造:首先lens > lent 或者 s[1] != t[1] 一定是 ...

随机推荐

  1. 【Miktex】使用教程以及数学符号整理总结

    LaTeX是当今世界上最流行和使用最为广泛的 TeX格式.它构筑在 Plain TeX的基础之上,并加进了很多的功能以使得使用者可以更为方便的利用 TeX的强大功能.使用 LaTeX基本上不需要使用者 ...

  2. Django套用现成模板,导入css,js,images等文件

    https://blog.csdn.net/mildddd/article/details/79557803

  3. Thinkphp在Tpl中调用common.php中的公共函数

    Common/common.php //产生随机验证码 function random($length, $chars = '0123456789') { //随机生成的逻辑 return $hash ...

  4. wamp升级php5.3.10到php5.6.13版本

    1.  停止WAMP服务器. 2.  去网站windows.php.net 下载php-5.6.13-nts-Win32-VC9-x86.zip. 不要下载THE INSTALLER. 3.  在wa ...

  5. Ubuntu 安装 vnc server

    安装原因,因为需要有桌面操作, 服务器上配置 vnc 即可实现. 在 ubuntu 14.04 上已经实现. 安装先关软件 sudo apt-get update sudo apt-get insta ...

  6. ambari删除脚本

    #.删除hdp.repo和hdp-util.repo cd /etc/yum.repos.d/ rm -rf hdp* rm -rf HDP* #rm -rf ambari* #.删除安装包 #用yu ...

  7. python 核心编程 01

    特殊变量 python用下划线作为变量的前缀和后缀指定特殊变量._XXX : 不用 'from module import *' 导入, 可以认为是模块中的私有变量__XXX__ : 系统定义的名字_ ...

  8. JSON常见操作

    1.JSON---> 字符串:JSON.stringify(json) 看如下代码: let json={"orderId":"E2018081400181122& ...

  9. Redis 学习笔记1

    配置文件: 根据配置文件打开服务器: redis-server redis.conf --port 6370 redis-cli -localhost -p 6370 动态设置/获取配置选项的值 CO ...

  10. Linux 客户端bind函数的使用

    无连接的socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息. 使用bind函数时,通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用 ...