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. 正益无线首页jQuery焦点图

    分享一款正益无线首页jQuery焦点图,带索引按钮,自动轮播切换特效焦点图代码. 在线预览   源码下载 实现的代码. html代码: <div id="slideBox" ...

  2. 基于jQuery经典扫雷游戏源码

    分享一款基于jQuery经典扫雷游戏源码.这是一款网页版扫雷小游戏特效代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <center> <h1>j ...

  3. elasticsearch之kibana安装

    我用的elasticsearch版本是5.2.2的,kibana也要对应的版本 下载kibana 下载网址:https://artifacts.elastic.co/downloads/kibana/ ...

  4. es 剩余磁盘空间达到es最小值,添加数据被block

    剩余磁盘空间达到es最小值,添加数据被block PUT _all/_settings {"index.blocks.read_only_allow_delete": null} ...

  5. Listener 监听Session内的对象

    Listener用于监控Session内的对象,分别是HttpSessionBindingListener与HttpSessionActivationListener.它们的触发时机分别为: Http ...

  6. R语言 ggplot2 画平滑图

    library(splines) library(ggplot2) dt1 <- structure(list(Age = structure(c(1L, 1L, 1L, 1L, 1L, 1L, ...

  7. RMySQL数据库编程指南

    R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器.随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长.现在已不仅仅是统计领域,教 ...

  8. 自然语言交流系统 phxnet团队 创新实训 个人博客 (十二)

    在本项目中关于天空盒子的使用的配置方法: 给场景添加天空盒  第二种方式   在菜单栏中选择:Edit->Render Setting,在保证不在选择场景中其它文件的前提下,Inspector面 ...

  9. 修改socket文件, MySQL启动报错

    事情是这样的, 我要搭建MySQL主从, 做读写分离, 然后就要了一台服务器搭建mysql, 最近犯懒, 就寻思搞一个二进制的吧直接启用 一堆问题就出现了 [ERROR] Can't start se ...

  10. c数组

    一维数组 有三种赋值方式 1.原始的赋值 2. 初始化赋值 3.动态赋值 数组的花式玩法 void main() { ] = {, , , , , , , , , }; test(a); putcha ...