L: Long Long Ago

时间限制: 1 s      内存限制: 128 MB     
 

题目描述

今天SHIELD捕获到一段从敌方基地发出的信息里面包含一串被经过某种算法加密过的的序列L
组织的间谍活动如下几个线索:
这个算法不会改变秘密消息的字符顺序,但是会两个字符之间在中间加入未知个数的字符
如原信息
ab
可能的加密结果
ammmxxxxb
现在你有n个待选关键字
如果这个关键字可能是秘密消息输出Yes,否则输出No
如ammmmxxxxb
可能包含的关键字有
ab
mb
mxb
......

输入

第一行输入一串字符串L

(1≤L≤105)
第二行输入一个整数N,表示查找字符串的个数。(1≤N≤105)
接下来N行表示,输入一行字符串M

n个字符的长度之和为[1,100000]

输出

输出N

行,如果是符合提议就输出Yes,否则输出No

样例输入

noiauwfaurainairtqltqlmomomo
8
rain
air
tql
ntt
xiaobai
oiiiooo
orzcnzcnznb
ooooo

样例输出

Yes
Yes
Yes
Yes
No
Yes
No
No
#include<iostream>
#include<math.h>
#include<string.h>
#include<vector>
#define ll long long
using namespace std;
vector<ll>p[];//开个二维的动态数组
char s[],ss[];
ll find2(ll target, ll k)
{
if (p[target].size() == )
return -;
else
{
ll l = , r = p[target].size() - , mid;
while (l <= r)
{
mid = l + ((r - l) >> );
if (p[target][mid] > k)//p[target][mid]=target在s数组的下标
r = mid - ;
else
l = mid + ;
}
if (l <= p[target].size()-)
return p[target][l];
else
return -;
}
}
int main()
{
ll n;
scanf("%s", s);
for (int i = ;s[i]; i++)//如果用i<strlen(s)会超时
p[s[i] - 'a'].push_back(i);
scanf("%lld", &n);
while (n--)
{
scanf("%s", ss);
ll k = -, flag = ;
for (int i = ; ss[i]; i++)
{
k=find2(ss[i] - 'a', k);//k是上一次查找返回的位置,初始化为-1
if (k == -)
{
flag = ;
break;
}
}
if (flag == )
printf("Yes\n");
else
printf("No\n");
}
//system("pause");
return ;
}

超时的strlen、sqrt     https://blog.csdn.net/xxiaobaib/article/details/78228547

最新文章

  1. Stop Googling!
  2. Android 学习笔记
  3. URL传值特殊字符处理
  4. 免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动。
  5. Android应用加入微信分享
  6. tomcat上servlet程序的配置与处理servlet请求过程
  7. 资源回收 left
  8. NET MVC权限验证
  9. Python爬虫框架Scrapy安装使用步骤
  10. Reverse Words in a String leetcode
  11. LAMP与LNMP架构的区别及其具体的选择说明
  12. Alpha第十天
  13. Android通过编译源代码提供系统服务-android学习之旅(85)
  14. 无需认证的mail,适用于ZABBIX等运维系统
  15. 在centos7 部署bbr
  16. C#基础:委托之Action&lt;T&gt;和Func&lt;T&gt;的用法
  17. URL参数编码
  18. 李白打酒——C++
  19. /etc/my.cnf
  20. 关于tomcat不同版本的maxPostSize

热门文章

  1. Mybatis之Configuration初始化(配置文件.xml的解析)
  2. mvc api odata查询选项之 $inlinecount $format 选项(转)
  3. curl工具
  4. ZOJ3696 Alien&#39;s Organ 2017-04-06 23:16 51人阅读 评论(0) 收藏
  5. shell 脚本 随机抽取班上学生
  6. 网站图标ICO
  7. 对象初始化的完整过程(C#)
  8. sharepoint site performance
  9. Amazon新一代云端关系数据库Aurora(下)
  10. Cookie的创建与删除